DLL 中给 Form的ListView写值 输出函数不写 stdcall 就报错~为什么??

squir 2007-08-27 11:37:31
------DLL---------
library TestDLL;

uses
ShareMem,
SysUtils,ComCtrls,
Classes;
procedure Filllistview(lv:TListView);stdcall;//这里不写stdcall程序就报错!!!
var lt : TListItem;
begin
if not Assigned(lv) then exit;
lt := lv.Items.Add;
lt.Caption := 'tests';
lt.SubItems.Add('ABCDEFG');
end;
{$R *.res}
exports
Filllistview;
begin
end.
----------------------
而Form里直接写就没错!
procedure TForm1.Button11Click(Sender: TObject);
var lt : TListItem;
begin
lt := ListView1.Items.Add;
lt.Caption := 'tests';
lt.SubItems.Add('ABCDEFG');
end;
这是咋回事情???
...全文
56 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
squir 2007-08-28
  • 打赏
  • 举报
回复
我想问 在DLL中操作了 listview 的句柄 是不是 就有问题的呢?
我现在做的DLL就是处理界面的好多控件,在退出主程序的时候,
有报错~Invalid Opinter Operate ???
hmzgz81 2007-08-28
  • 打赏
  • 举报
回复
我想问 在DLL中操作了 listview 的句柄 是不是 就有问题的呢?


不会有问题的!
hmzgz81 2007-08-27
  • 打赏
  • 举报
回复
stdcall是Windows API的标准调用方式。如果不是作成dll被其他程序(特别是用其它工具,如VC开发的)调用,一般不用加。

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧