1.如果你要传递的是mainface的话
从字面意思上看是mainform你懂我的意思吗
如果不是则利用screen.form来寻找
2.你dock时最好有一个panel这样便于控制大小
不要先show先manualdock在panel上
然后调用主窗口的show方法
从字面意思上看是mainform你懂我的意思吗
如果不是则利用screen.form来寻找
2.你dock时最好有一个panel这样便于控制大小
不要先show先manualdock在panel上
然后调用主窗口的show方法
procedure EnterMainFace(AOwner:TComponent;);stdcall;export;
begin
with TFormMainFace.Create do
begin
Show;
//我这样写的,但是不知道如何取得TFormMainFace.Create 的结果。
//我的问题其实就是这个。
end;
end;
2)如果我先manualdock然后才show的话,窗口的内容显示不出来。我向PageControl
Dock时是这样的。我需要用Dock窗口显示一些附加的公共信息,所以不能用Panel.
1。你只要把aowner定义为appplication
就可以用screen找到它
2。如果实在要用pagecontrol的话
那也应该可以呀
你可以试试把dockform.bringtofront
1)我知道可以。但是,这不是我想要的。比如,我把Application作为AOwner传递
给EnterInterface,假设我把这个TDllForm从PageControl中释放出来,然后关闭、释放
PageControl所在的窗口TFormMainFace.Create,结果,TDllForm那个窗口仍然存在,
因为它是从Application中创建的,Application存在,它就不会随TFormMainFace.Create
的实例一起释放。
如果要释放,只好用代码的方式。但是如果我能把TFormMainFace.Create传递进去,
那就达到目的了。我想知道在
procedure EnterMainFace(AOwner:TComponent;);stdcall;export;
begin
with TFormMainFace.Create do
begin
Show;
end;
end;
之后,如何得到TFormMainFace.Create 的内容。
2)我再试试。
应该是
“假设我把这个TDllForm从PageControl中undock出来,”
application只是一个handle
它只负责在自己destory时把所有owner是自己的全部释放掉
with TFormMainFace.Create(aowner)
加上aowner
procedure EnterMainFace(AOwner:TComponent;);stdcall;export;
begin
with TFormMainFace.Create do
begin
Show;
end;
end;
所产生的TFormMainFace.Create .
你可先测试一下dockform的parent是什么
然后重新给值