100分如何用Delphi去调用一个用VB写的有窗体的DLL的程序? (100分)

  • 主题发起人 主题发起人 eastnet
  • 开始时间 开始时间
E

eastnet

Unregistered / Unconfirmed
GUEST, unregistred user!
我在VB中写下:(做个测试用)
Sub ShowFrom(Title As String)
Form1.Caption = Title
Form1.Show
End Sub
编译成TestDLL.dll文件,现在想在DELPHI中调用这个VB写的DLL。
代码如下:
....
implementation

procedure ShowFrom(Title: String); StdCall; external 'TestDLL.dll';
....
ShowFrom('hello');
运行就报错。不知道哪位大侠帮我看看如何写才对,或者提供一个例子,100分立即送上,绝不食言!!!


 
改成procedure ShowFrom(Title: String); far; external 'TestDLL.dll'; 也不行
 
谢谢啦!!!
 
先顶一下.
 
delphi的string和别的程序不一样哦,建议用pchar传递,否则要出错哦
 
to c2008,我改成pchar类型了,还是不行:
...
implementation

procedure ShowFrom(Title: pchar); StdCall; external 'TestDLL.dll';
.......
ShowFrom(pchar('asdf'));

程序报错:“无法定位程序输入点ShowFrom于动态链接库TestDLL.dll”上。
 
VB写不了API式的DLL。
 
什么错位提示?
procedure ShowFrom(Title: String); external 'TestDLL.dll'name 'TestDll';
 
to 东兰梦舞,有没有什么办法可以调用VB的DLL呢?
 
to manana,
使用:procedure ShowFrom(Title: String); external 'TestDLL.dll'name 'TestDll';
也一样报错:
“无法定位程序输入点ShowFrom于动态链接库TestDLL.dll”上。
 
是不是只有要顯示窗體的就不行,但不是調用窗體的函數就行啊。
我碰到的是這樣的。一般的函數沒問題的,只是有要顯示窗體的就不行了。
 
Sub ShowFrom(Title As String)
Form1.Caption = Title
Form1.Show vbmodal'必須是這樣的才行
End Sub
決對可以的。我試了。
 
问题已经解决,谢谢xrhtwo!
 
接受答案了.
 
后退
顶部