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

  • 主题发起人 主题发起人 zyx1122
  • 开始时间 开始时间
to:iie<br>add(),写空括号只是用来测试.<br>
 
可能是你返回值是string型,如果你想在vc和vb中调用delphi写的DLL,最好不要用string,改为pchar/
 
我也有遇到这样的问题,ActiveX都可以注册,但是就是有时不能导入Activex,就连delphi中也不可以<br>我觉得dead_lee的说法倒是值得考虑<br>
 
zyx1122,如果注册不了我想看看她是什么提示信息。
 
to:rockjie<br>错误信息是:<br>E:/test/test.dll was loaded, but the DllRegisterServer entry point was not found.<br>DllRegisterServer may not be exported, or a corrupt version of E:/test/test.dll may be in memory.<br>Consider using PView to detect and remove it.<br><br>我用PView没有查到test.dll
 
to:aq100<br>返回值是Integer型<br>
 
VB中的调用路径要对:<br>不要用Integer类型做返回值;<br>可以用Word,Bool,等API中定义类型来做返回值!<br>
 
function Add() : Word; stdcall; export;<br>begin<br>&nbsp; Result := 1;<br>end;<br><br>我改成这样还是不行.
 
function Add : Word; stdcall; <br>begin<br>&nbsp; Result := 1;<br>end;<br>
 
to:iie<br>smokingroom让我加export;<br>你要我去export;<br>我运行了都不行。<br>有没有人做过? 难道没有吗?!<br><br>
 
1)我用pascal和delphi都写过DLL,在所有可用的环境下都没有问题;<br>2)我习惯在工程文件里写export,这也是经典的做法;<br>3)你的问题估计是引用的时候出的问题,不在DLL这边,我已经让你贴出代码了;<br>4)那个()太难看了,一定要去掉,不然还叫什么pasacl。
 
to 楼主:<br>你的Dll可以在Delphi中使用吗,如果可以,应该就是兼容性问题了
 
to :iie<br>你可不可以给我一个例子。(最好还有VC, VB调用的例子)<br>我实在是没有办法了。<br>还有:4)那个()太难看了,一定要去掉<br>“那个()”是什么? 可不可以解释的详细些?<br>
 
就是add后面的那个呵
 
to :iie<br>我已经去了。我的例子仍然不可以用。<br><br>你可不可以给我一个例子。(最好还有VC, VB调用的例子)<br>我实在是没有办法了。<br>
 
dead_lee问的对,你的DLL在delphi下面是好用的吗
 
我的DLL在delphi下面好用
 
VC上一样的,就是loadlib
 
我在VC上用<br>#import ".../test.dll"<br>编译不通过。<br>我还没有试过用loadlib, 我试一下。
 
用loadlibery可以<br>thanks everyone.
 
后退
顶部