Delphi 调用C++写的DLL,当用全局变量当参数时,运行出错
C++ :函数原形
int WINAPI RmuOpenAndConnect (HANDLE &hCom, char* cPort, UCHAR flagCrc);DELPHI6 函数申明
Function RmuOpenAndConnect (Hcomm:thandle; Cport:Pchar; flagCrc: byte ):integer;stdcall;external 'RMU900_API.dll' ;
DELPHI6 运行成功( Hc:thandle; 局部变量)
procedure TFrmMain.Button1Click(Sender: TObject);
var Cport:Pchar;
flagCrc:byte;
i,j:integer;
Hc:thandle;
begin
Cport:=pchar('com3');
flagCrc:=0;
if RmuOpenAndConnect(Hc,Cport,flagCrc)=1 then showmessage('Open OK') else howmessage('false');
end; DELPHI6 运行出错( Hc:thandle; 改为全局变量)
procedure TFrmMain.Button1Click(Sender: TObject);
var Cport:Pchar;
flagCrc:byte;
i,j:integer;
begin
Cport:=pchar('com3');
flagCrc:=0;
if RmuOpenAndConnect(Hc,Cport,flagCrc)=1 then showmessage('Open OK') else howmessage('false');
end;
C++ :函数原形
int WINAPI RmuOpenAndConnect (HANDLE &hCom, char* cPort, UCHAR flagCrc);DELPHI6 函数申明
Function RmuOpenAndConnect (Hcomm:thandle; Cport:Pchar; flagCrc: byte ):integer;stdcall;external 'RMU900_API.dll' ;
DELPHI6 运行成功( Hc:thandle; 局部变量)
procedure TFrmMain.Button1Click(Sender: TObject);
var Cport:Pchar;
flagCrc:byte;
i,j:integer;
Hc:thandle;
begin
Cport:=pchar('com3');
flagCrc:=0;
if RmuOpenAndConnect(Hc,Cport,flagCrc)=1 then showmessage('Open OK') else howmessage('false');
end; DELPHI6 运行出错( Hc:thandle; 改为全局变量)
procedure TFrmMain.Button1Click(Sender: TObject);
var Cport:Pchar;
flagCrc:byte;
i,j:integer;
begin
Cport:=pchar('com3');
flagCrc:=0;
if RmuOpenAndConnect(Hc,Cport,flagCrc)=1 then showmessage('Open OK') else howmessage('false');
end;
解决方案 »
- delphi+sql server 2000用数据提交显示update failed
- 怎样用流分割存储文件?
- 請給一個自己寫的delphi類,然後如何應用到delphi中的實例
- 求win2003下读取硬盘序列号的Delphi源码
- DLL问题,我调用了DLL功能,它会显示一个DLL中的提示窗口,我想在调用里的程序,关闭它,应该怎么做呢???
- 通过isapi来开发服务器软件的时候,如何同时返回图片和文字?
- 请问DELPHI里面的动态数组在使用时要注意什么?
- Delphi 连接mysql 按钮的实现
- 知道窗体的句柄之后如何找到上面的控件。
- delphi 5在windows2000 server下不能用
- delphi中如何解锁桌面图标
- 数据库连接不成功,就卡在那不动了,牛人给解决一下
Function RmuOpenAndConnect (var Hcomm:thandle; Cport:Pchar; flagCrc: byte ):integer;stdcall;external 'RMU900_API.dll' ;
这样试试