Delphi调用vb写的Dll窗口出现:
“不能在该主机应用程序中从 ActiveX DLL、ActiveX 控件或“属性页”显示非模式窗体"别人写的dll,没法修改,调用模式窗体时就正常,咋办呢?而且显示了dll的模式窗体后,用本身dll的方法,在该模式窗体调用的非模式窗体,也会出现同样的错误。请高手们赐教,感激不尽!!
“不能在该主机应用程序中从 ActiveX DLL、ActiveX 控件或“属性页”显示非模式窗体"别人写的dll,没法修改,调用模式窗体时就正常,咋办呢?而且显示了dll的模式窗体后,用本身dll的方法,在该模式窗体调用的非模式窗体,也会出现同样的错误。请高手们赐教,感激不尽!!
解决方案 »
- 如何在一个程序启动和关闭的时候触发一些事件?
- 谁在delphi做过可以做定义纸张大小的报表?
- 请教:关于API函数 ShellExecute 的参数问题!
- 自动登陆网站的软件(用idhttp做的),运行报错,请高手帮我看看问题在哪?
- 100分求解delphi应用超级大难题
- 关于数据类型的问题
- 关于FastReport中Memo换行的问题?
- 数据库的问题!!
- 在CSDN上下载的StringGridEX的dpk,安装出错??
- 跪了跪了!第一次用delphi,完全搞不定ReportMachine,感觉根本安装不上去!
- 请推荐一个 开发WIN CE程序的平台,我对DELPHI 熟悉
- 求C代码翻译为DEPHI代码
我自己用vb试了一下,做了个dll,用delphi调用,出现一样的错误。
步骤如下1. 建一个dll工程,加入一个Form
2. 在Class1中加入
Function doSomething()
Form1.Show
End Function
3. 生成dll文件并注册
在Delphi里这样用:
uses comObj;
procedure TForm1.Button1Click(Sender: TObject);
var
obj: OleVariant;
begin
obj := CreateOLEObject('工程1.clsMain');
obj.doSomething;
end;