急 老大们帮我看看 delphi中编写的dll为什么Vb调用不了

xiangtianwen 2004-10-10 11:42:43
我用delphi 写了一个很简单的dll 但是为什么用VB调用的时候 老是提示说Dll约定错误
dll的制作过程如下:
1我先新建了一个dll单元 2 我在单元文件里写了一个sum函数:
function sum(x,y:integer):integer;stdcall;
begin
Result:= x+y;
end;
3在该dll单元里添加了exports 部分 然后声明sum函数
4编译生成了一个aa.dll
dll的调用过程如下:
1在VB的通用部分声明sum函数:
Public Declare Function sum Lib "aa.dll" (ByVal x,y As integer) As integer
2在button控件的click事件里写:
me.text1.text= sum(1,2)
当我运行起来后点击按钮 就提示调用dll预定错误
以上的dll调用有没有错误啊 !!各位老大帮忙看看 万分的........感激.....谢谢谢谢谢谢
(不好意思 各位老大 20分是偶的全部家当了 )
...全文
88 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
noahfz 2004-10-11
不要free试试
回复
DemonLoveLizzy 2004-10-10
(ByVal x As integer,ByVal y As integer)
回复
DemonLoveLizzy 2004-10-10
//(ByVal x,y As integer)

(ByVal x As integer,ByVal x As integer)
回复
xiangtianwen 2004-10-10
生意真的很不好啊!!!!没人光顾啊!!!该死的苍蝇 偶拍拍拍死你们
回复
xiangtianwen 2004-10-10
唉......偶自己顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
好累啊!!!顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
回复
xiangtianwen 2004-10-10
谢谢各位老大 偶还想在问一个小问题 就是 当偶在dll里加了一个显示窗体的过程:
procedure showWindows();stdcall;
begin
frmMain:=TfrmMain.Create(nil);
with frmMain do
begin
ShowModal;
free;
end;
end;
然后偶在vb里声明: Public Declare Function showWindows Lib "aa.dll" ()
然后在button 的click事件里写:showWindows
然后运行 结果是窗体倒是显示了 但是当偶关闭的时候会有约定错误的提示 这是为什么呢?


回复
bigbigfans 2004-10-10
再纠正
Public Declare Function sum Lib "aa.dll" (ByVal x as long,byval y As long) As long
回复
bigbigfans 2004-10-10
Public Declare Function sum Lib "aa.dll" (ByVal x as long,y As long) As integer

1、在vb里ByVal x,y As integer定义,只有y 是integer型,x是Variant型.
2、delphi的integer型相当于vb的long型
回复
相关推荐
发帖
Windows SDK/API
创建于2007-08-02

1161

社区成员

Delphi Windows SDK/API
申请成为版主
帖子事件
创建了帖子
2004-10-10 11:42
社区公告
暂无公告