vc中定义
typedef struct tagINVOICEDATA {
char szFpCryptograph[88];
char szFpEnVersion[8];
char szFpCode[16];
char szFpSeriaoNo[16];
char szFpDate[16];
char szFpBuyerTaxNo[16];
char szFpSellerTaxNo[16];
char szFpSum[32];
char szFpTaxRate[16];
char szFpTax[32];
char szFpTotal[32];
char szFpImage[224];
char szFpCodePrinted[16];
char szFpSNPrinted[16];
} INVOICEDATA, *PINVOICEDATA;函数定义
int WINAPI FpGetNewPage(PINVOICEDATA lpFpBuffer);在delphi中引用函数。
Function FpGetNewPage(lpFpBuffer: PINVOICEDATA):Integer ;StdCall external 'scanreco.dll' ;定义参数
type
tagINVOICEDATA = record szFpCryptograph: array [0..87] of pchar;
szFpEnVersion: array [0..7] of pchar;
szFpCode:array [0..16] of pchar;
szFpSeriaoNo:array [0..16] of pchar;
szFpDate:array [0..16] of pchar;
szFpBuyerTaxNo:array [0..16] of pchar;
szFpSellerTaxNo:array [0..16] of pchar;
szFpSum:array [0..32] of pchar;
szFpTaxRate:array [0..16] of pchar;
szFpTax:array [0..32] of pchar;
szFpTotal:array [0..32] of pchar;
szFpImage:array [0..224] of pchar;
szFpCodePrinted:array [0..16] of pchar;
szFpSNPrinted:array [0..16] of pchar;
end ;
调用函
var aa :integer ;
n :tagINVOICEDATA;aa := FpGetNewPage(@n)
现返回值不对大家看看有没有什么问题。
或者有其它的方法解决
typedef struct tagINVOICEDATA {
char szFpCryptograph[88];
char szFpEnVersion[8];
char szFpCode[16];
char szFpSeriaoNo[16];
char szFpDate[16];
char szFpBuyerTaxNo[16];
char szFpSellerTaxNo[16];
char szFpSum[32];
char szFpTaxRate[16];
char szFpTax[32];
char szFpTotal[32];
char szFpImage[224];
char szFpCodePrinted[16];
char szFpSNPrinted[16];
} INVOICEDATA, *PINVOICEDATA;函数定义
int WINAPI FpGetNewPage(PINVOICEDATA lpFpBuffer);在delphi中引用函数。
Function FpGetNewPage(lpFpBuffer: PINVOICEDATA):Integer ;StdCall external 'scanreco.dll' ;定义参数
type
tagINVOICEDATA = record szFpCryptograph: array [0..87] of pchar;
szFpEnVersion: array [0..7] of pchar;
szFpCode:array [0..16] of pchar;
szFpSeriaoNo:array [0..16] of pchar;
szFpDate:array [0..16] of pchar;
szFpBuyerTaxNo:array [0..16] of pchar;
szFpSellerTaxNo:array [0..16] of pchar;
szFpSum:array [0..32] of pchar;
szFpTaxRate:array [0..16] of pchar;
szFpTax:array [0..32] of pchar;
szFpTotal:array [0..32] of pchar;
szFpImage:array [0..224] of pchar;
szFpCodePrinted:array [0..16] of pchar;
szFpSNPrinted:array [0..16] of pchar;
end ;
调用函
var aa :integer ;
n :tagINVOICEDATA;aa := FpGetNewPage(@n)
现返回值不对大家看看有没有什么问题。
或者有其它的方法解决
解决方案 »
- 求助:TMS AdvToolBar不能添加Button!下了几个都缺少AdvToolBarButton单元
- EnumThreadWindows怎么用啊?
- 数据库中,尽量用存储过程的想法好不好?
- 菜鸟问题, 关于TChart
- Excel驻留内存问题
- 如何四舍五入?
- 字符串在win98与win2000中使用“宋体”打印,打印宽度为什么不同,请问如何解决?谢谢
- 问一个久而不决的问题,在VC,VB,DELPHI版块均找不到答案,哪位高手愿意接受挑战?UP也有分
- 转发Delphi论坛,请大家帮我看看
- 谁有管网信息系统的源程序?
- 找不到libintf.dcu文件
- 如何实现窗口从屏幕角部缓缓升起,类似MSN来信提示窗口!谢谢!
PtagINVOICEDATA =^tagINVOICEDATA ;var
n :PtagINVOICEDATA;aa := FpGetNewPage(n);
如果报错的话就是DLL的调用约定不同,不见得一定是Stdcall方式,默认的是cecel