delphi定义dll调用
这是一个朋友的定义的使用dll的原句,发现不正确但不知如何改,请教!!
//function boolean ClearCommError(integer hFile,ref unsignedlong lpErrors,ref tcomstat lpStat) library "kernel.dll";
问题点数:50、回复次数:6Top
1 楼Ardus()回复于 2000-05-07 09:31:00 得分 20
Interface 部分写
写声明TComStat是什么东西
Type TComStat = record
...
end;
function ClearCommError(hFile:Integer;lpErrors : Cardinal; lpStat : TComStat) : BOOL ; stdcall
Implementation部分写
function ClearCommError;external kernel name "ClearCommError Name in kernel"Top
2 楼jll(你快乐,所以我快乐)回复于 2000-05-07 10:22:00 得分 10
看上去像是C++中的DLL定义,要正确使用得自己翻译成Delphi能够接受的形式。
function ClearCommError(hFile:integer; lpErrors:word; lpStat:TComStat):boolean; stdcall; external "kernel.dll";
同意Ardus的意见,TComStat应该先定义。Top
3 楼jll(你快乐,所以我快乐)回复于 2000-05-07 10:22:00 得分 10
看上去像是C++中的DLL定义,要正确使用得自己翻译成Delphi能够接受的形式。
function ClearCommError(hFile:integer; lpErrors:longword; lpStat:TComStat):boolean; stdcall; external "kernel.dll";
同意Ardus的意见,TComStat应该先定义。Top
4 楼zjp(大平)回复于 2000-05-11 02:05:00 得分 10
function ClearCommError;external 'kernel.dll' name 'ClearCommError'Top
5 楼DIABL0(电脑破坏神)回复于 2001-06-13 23:07:00 得分 0
这种情况我也遇到过,我是用显试调用解决的。Top
6 楼DIABL0(电脑破坏神)回复于 2001-06-13 23:10:00 得分 0
另外,我发现在interface里写的函数声明与外面写的函数声明有一个就行。
就是:
function C……;stdcall; 和 function C…… :Boolean;external ……;写一个就行Top




