我的dll文件:
library Project2;
uses
ShareMem,
SysUtils,
Forms,
Windows,
Messages,
Classes; Function read(b1:Longint;d1:Longint;a1:pchar):Longint; stdcall ;
begin
if (b1=1)and (d1=3) and (a1='123456789')then
begin
Result:=0;
a1:='987654321'
end
else
Result:=1;
end ;{$R *.res}
end;
exports
read name 'Read';begin
end.调用程序的函数:
Function Read b1:Longint;d1:Longint;a1:pchar):Longint;stdcall;external 'Project2.dll';
var
tt:pchar;
begin
tt:='000000';
Label1.Caption:=inttostr(dogread(6,80,tt));
Label2.Caption:=tt; // 想这里的值变为:'987654321'
end
library Project2;
uses
ShareMem,
SysUtils,
Forms,
Windows,
Messages,
Classes; Function read(b1:Longint;d1:Longint;a1:pchar):Longint; stdcall ;
begin
if (b1=1)and (d1=3) and (a1='123456789')then
begin
Result:=0;
a1:='987654321'
end
else
Result:=1;
end ;{$R *.res}
end;
exports
read name 'Read';begin
end.调用程序的函数:
Function Read b1:Longint;d1:Longint;a1:pchar):Longint;stdcall;external 'Project2.dll';
var
tt:pchar;
begin
tt:='000000';
Label1.Caption:=inttostr(dogread(6,80,tt));
Label2.Caption:=tt; // 想这里的值变为:'987654321'
end
解决方案 »
- 中英文转换版本实现。
- 谁能帮帮我~~~我没有corba data module 应该怎么添加呢???
- 关于TDBChart与数据库连接的问题
- 分析代码?filter
- 关于EXCEL导入数据库的两个问题,在线等待!
- 怎样控制AdoTable变成Active时记录指针移动到指定记录?
- delphi 编写activex 如何加载外部dll或bpl
- MTS+ADO(服务器端),客户端用DCOMconnection,在WIN98下出现如下错误?在WIN2000中闪几下就什么都没有启动?在本机上运行一切正常?请问何解?急急!!!这个问题的延长?
- 请问怎么样得到一个:saveas窗口呀?
- 咨询下xe10下bluetoothle1使用的问题
- 关于HOOK 函数,能勾住,但是就是无法替换原有函数。
- WebBrowser控件中遇到下载链接下载时如何自动点下载对话框中的保存按钮?
Label2.Caption:=tt; // 想这里的值变为:'987654321'
//这里是不能这样子做的,不能像这样子传值, 建议lz用CreateFileMapping
或者给主窗体发送sendMessage
Function read(b1:Longint;d1:Longint;out a1:pchar):Longint; stdcall ;
试试返回一个record指针吧
应该用strpcopy,CompareMem
参考:
http://jian100305.host10.web-75.com/tech/questionlist.asp?q_ID=7