本文介绍了c#调用c ++ dll,这是c ++头文件,如何对c#代码进行编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 typedef  struct  tagGOODSDATA {
       wchar_t szGoodsName [ 128 ]; //  1.物品名称
       wchar_t szGoodsUnit [ 32 ]; //  2.物品单位
       字符 szGoodsNum [ 24 ]; //  3.物品数量
} GOODSDATA,* PGOODSDATA; 


 typedef  struct  tagINVOICEEXTDATA {
       wchar_t szFpBuyerName [ 128 ]; //  1.购方企业名称
       wchar_t szFpSellerName [ 128 ]; //  2.销方企业名称
       字符 szGoodsRows [ 4 ]; //  3.物品行数
       GOODSDATA szGoodsData [ 8 ]; //  4.物品信息
} INVOICEEXTDATA,* PINVOICEEXTDATA; 



 typedef  struct  tagINVOICEDATA {
    字符 szFpImage [ 258 ]; // 发票扫描图像文件名
    字符 szFpCode [ 20 ]; //  1:发票代码(10个字节)
    字符 szFpSeriaoNo [ 20 ]; //  3:发票印刷序号(8字节)
    字符 szFpCode1 [ 20 ];
    字符 szFpSeriaoNo1 [ 20 ]; //  3:发票印刷序号(8字节)
    字符 szFpEnVersion [ 10 ]; // 加密版本号(2字节)??? 
    字符 szFpDate [ 20 ]; //  2:发票开票日期(6字节)
    字符 szFpTaxRate [ 10 ]; //  8:税率!!! 
    字符 szFpBuyerTaxNo [ 30 ]; //  4:购方税收号(15/17/18/20字节)
    字符 szFpSellerTaxNo [ 30 ]; //  7:销方税收号(15/17/20字节)
    字符 szFpTotal [ 40 ]; // 价税合计
    字符 szFpSum [ 40 ]; //  5:金额
    字符 szFpTax [ 40 ]; //  6:税额!!! 
    字符 szFpCryptograph [ 1024 ]; //  0:密文数据(84/108/780字节)
} INVOICEDATA,* PINVOICEDATA; 


int WINAPI FpGetVersion(int nCompanyCode,int nScannerType);
int WINAPI FpScannerInitialize(void);
int WINAPI FpScannerTerminate(int wAction);
int WINAPI FpGetNewPage(PINVOICEDATA lpFpBuffer,PINVOICEEXTDATA lpFpExtBuffer,int * isBarCode);

解决方案



typedef struct tagGOODSDATA {
       wchar_t        szGoodsName [128];        //1.物品名称
       wchar_t        szGoodsUnit [32];         //2.物品单位
       char           szGoodsNum[24];           //3.物品数量
}GOODSDATA, *PGOODSDATA;


typedef struct tagINVOICEEXTDATA {
       wchar_t         szFpBuyerName[128];          //1.购方企业名称
       wchar_t         szFpSellerName[128];         //2.销方企业名称
       char            szGoodsRows[4];                      //3.物品行数
       GOODSDATA       szGoodsData[8];              //4.物品信息数组
}INVOICEEXTDATA, *PINVOICEEXTDATA;



typedef struct tagINVOICEDATA {
    char    szFpImage[258];             //  发票扫描图像文件名
    char    szFpCode[20];               //1:发票代码(10字节)
    char    szFpSeriaoNo[20];           //3:发票印刷序号(8字节)
    char    szFpCode1[20];
    char    szFpSeriaoNo1[20];          //3:发票印刷序号(8字节)
    char    szFpEnVersion[10];          //  加密版本号(2字节) ???
    char    szFpDate[20];               //2:发票开票日期(6字节)
    char    szFpTaxRate[10];            //8:税率 !!!
    char    szFpBuyerTaxNo[30];         //4:购方纳税号(15/17/18/20字节)
    char    szFpSellerTaxNo[30];        //7:销方纳税号(15/17/20字节)
    char    szFpTotal[40];              //  价税合计
    char    szFpSum[40];                //5:金额
    char    szFpTax[40];                //6:税额 !!!
    char    szFpCryptograph[1024];      //0:密文数据(84/108/780字节)
}INVOICEDATA, *PINVOICEDATA;


int WINAPI FpGetVersion(int nCompanyCode, int nScannerType);
int WINAPI FpScannerInitialize(void);
int WINAPI FpScannerTerminate(int wAction);
int WINAPI FpGetNewPage(PINVOICEDATA lpFpBuffer, PINVOICEEXTDATA lpFpExtBuffer, int *isBarCode);

解决方案



这篇关于c#调用c ++ dll,这是c ++头文件,如何对c#代码进行编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-24 14:40