做了一个应用程序,主界面单独,其它子窗体封装在不同的DLL里,还有一个共享的窗体里面是一些图标,被各DLL及主窗体引用,但是在主窗体调用DLL里的子窗体的时候,其里面的图标不能显示,也就是我的共享图标窗体没创建,因此我的问题是:这个共享窗体何时在何处创建最合适,重复代码最少?
主窗体的dpr:
Application.Initialize;
Application.CreateForm(Tfrm_main,frm_main);
Application.CreateForm(Tfrm_share,frm_share);
Application.Run;
//主窗体的图标显示没有问题;
DLL里的dpr:
begin
oldApp:=Application;
end;
//在DLL里我要把Application变量保存,调用窗体要重新给Application赋值,然后在free前恢复Application的值;所以这个共享不知怎么去创建,对了现在还没搞明白DLL里的begin end;语句是何时被执行的??
主窗体的dpr:
Application.Initialize;
Application.CreateForm(Tfrm_main,frm_main);
Application.CreateForm(Tfrm_share,frm_share);
Application.Run;
//主窗体的图标显示没有问题;
DLL里的dpr:
begin
oldApp:=Application;
end;
//在DLL里我要把Application变量保存,调用窗体要重新给Application赋值,然后在free前恢复Application的值;所以这个共享不知怎么去创建,对了现在还没搞明白DLL里的begin end;语句是何时被执行的??
我现在也试图将程序模块化,可是没有做过DLL,不知道从哪着手去做,您能不能把你的主程序和其中的一个模块(dll)发给我,我想学习一下具体是怎么写的和如何调用的。非常感谢。邮箱:[email protected]
我的问题简单说:就是DLL里的共享窗体何时创建?请仔细阅读顶层的问题!
写一个Component来调用Dll,在Component的某个方法中创建窗体,好比OpenDialog.Execute的形式,因为Component的头上可以use Forms所以能够使用Application,传入Dll中,这样你再使用DLL的时候就不用那么复杂了,并且DLL的复用率很高,每次调用很麻烦!!!!