急啊!急啊! DLL不可以在VC, VB中使用! 实在没有办法了哪位大虾曾写过dll可以在VC, VB中使用的, 能不能给个代码看看? 有没有人会啊

Z

zyx1122

Unregistered / Unconfirmed
GUEST, unregistred user!
急啊!急啊! DLL不可以在VC, VB中使用! 实在没有办法了哪位大虾曾写过dll可以在VC, VB中使用的, 能不能给个代码看看? &nbsp;有没有人会啊?这么多号称 “大富翁” 的人怎么没人能给个正确答案呢?真是急人啊! (20分)<br />我把书中的DLL例子编译后, 有stdcall;<br>不可以在VC,VB中使用<br>书中说是可以用的。<br>有没有人遇到同样的问题<br>是不是操作系统出了问题<br>还是Delphi没有装好。
 
而且用RegSvr32也注册不了<br>说是没有入口。
 
贴出dll来
 
就是书中的例子.<br>或者写一个空的dll.<br>我想代码应该是没有问题<br>是不是别的出了问题?
 
我在windos98, windows2000<br>都试了都不行.<br>后来把delphi重装也不行.<br>怎么会事啊?
 
没有export 函数吧
 
都有啊<br>就是最简单的例子
 
建议把代码贴出来看一下。应该很简单呀。
 
library testdll;<br><br>uses<br>&nbsp; SysUtils,<br>&nbsp; Classes;<br><br>{$R *.res}<br>function Add() : Integer; stdcall;<br>begin<br>&nbsp; result := 1;<br>end;<br><br>exports<br>&nbsp; Add;<br>&nbsp; &nbsp; <br>begin<br>end.
 
把stdcall 该改成 far 试试
 
改成 far ?<br>不是很明白<br>我都是从书中copy的例子.<br>不能在VC, VB用, 真是没道理.<br>delphi不会这么差吧.
 
应该在你的make文件中添加你这个dll的目标文件。
 
to:linge_king<br>可不可以说的详细点?<br>在哪个make文件?<br>我用RegSvr32不可以注册<br>在VB中选择菜单project/refrence/brows选择该dll也不行.
 
你是打算这么用DLL的吗?<br>RegSvr32是注册服务的,Refrence是引用包含TypeLib的库的<br>总之都是和Com什么的相关的<br>普通的DLL不是那样用的<br>VC里边怎么引用函数我不清楚<br>VB里用因该这样写<br>Declare Function Add Lib "testdll" () As Long<br>还有确信testdll.dll在你的程序的搜索路径中<br>
 
function Add() : Integer; stdcall;Export; //注意要加上Export<br>begin<br>&nbsp; result := 1;<br>end;<br>
 
to:JobsLee<br>我一直都是用RegSvr32注册的.<br>RegSvr32可以注册dll.<br>你可以在command里输入RegSvr32<br>它提示<br>Usage: regsvr32 [/u][/s][/n][/i[:cmdline]] dllname<br>或者你在winnt/system32随便找一个dll注册试一下.
 
现在有很多垃圾书<br>做书的人自己都不会。<br>
 
to:smokingroom<br>加了export;也不行.
 
没问题的,除非是引用的地方写错了,不妨也贴出来。<br>不过有一点很奇怪,add(),pascal写空括号实在没道理
 
关注该问题,以前听说dll中的参数匹配有pascal方式和c方式,不知道和这个有没有<br>关系,我现在也想在项目中用Delphi作个dll供Vb调用,关注该问题的解决结果,可能<br>对我在后面的使用有影响的.
 
顶部