调用DLL中窗体时的问题 一个主窗体,一个按钮,一个面板在按钮click后,调用一个DLL,显示里边的一个窗体现在我想让DLL里的窗体显示在面板里,如何做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 方法一:在DLL中写一个函数,传进面板的Handle,然后写SetParent。查看API方法二:用接口,DLL中的窗体类实现该接口。外部就可以用。 恩,我用方法一,可以显示了但是窗体只能用showmodal来显示,这样的话,主窗体就不能用了。如用show的话,DLL里的窗体显一下就没了,请问如何解决? 用BPL代替DLL:在子窗口中:MyForm:=TMyForm.Create(Application);MyForm.Parent:=TPanel(Application.MainForm.FindComponent('MyPanel'));MyForm.Show//MyForm.Showmodal; BPL没用过,能不能提供点这方面的资料 bpl是一种特殊的dll,但它是面向对象的,仅能在delphi/BCB中使用。一个系统中使用bpl时只有一个application对象;使用dll时每个dll都有一个application对象,会使用操作变得困难。 还有就是,我现在程序已经用DLL了,所以最好还是我上面说的情况:================================= 回复人: mingday(小山) ( ) 信誉:100 2005-10-12 14:07:00 得分: 0 恩,我用方法一,可以显示了但是窗体只能用showmodal来显示,这样的话,主窗体就不能用了。如用show的话,DLL里的窗体显一下就没了,请问如何解决?=================================所以最好能解决这个问题! ShowFormAsChild(Tform(Form1),Tform1,panel);显示一个窗体到另一个控件中 delphi 集合类型 很急的一个调用oracle存储过程传出参数的问题,请大家帮忙. 能给点提示吗? 如何使listbox的所选项的背景色去掉,而所选 项的字体变成红色,现在所选项默认的是蓝色背景和白色字体 dbgrid的列宽设置问题 100分提问:如何将DELPHI源程序制作成.DLL文件!高手指点!在线等................. 这种代码如何调试呀? 李维-商务篇-第二章第一个例子-在线等待 api vs api 深圳CodeGear开发者日感受。。。 关于STRINGGRID 上显示COMBOBOX问题? 十分急,在线等,报表问题
方法二:用接口,DLL中的窗体类实现该接口。外部就可以用。
但是窗体只能用showmodal来显示,这样的话,主窗体就不能用了。如用show的话,DLL里的窗体显一下就没了,请问如何解决?
在子窗口中:
MyForm:=TMyForm.Create(Application);
MyForm.Parent:=TPanel(Application.MainForm.FindComponent('MyPanel'));
MyForm.Show//MyForm.Showmodal;
回复人: mingday(小山) ( ) 信誉:100 2005-10-12 14:07:00 得分: 0
恩,我用方法一,可以显示了
但是窗体只能用showmodal来显示,这样的话,主窗体就不能用了。如用show的话,DLL里的窗体显一下就没了,请问如何解决?
=================================
所以最好能解决这个问题!
显示一个窗体到另一个控件中