我的app有2个form需要同时显示
其中form2里面有关闭按钮,Onclick事件我写入了application.Terminate;
但是在form2我需要在finalization里面有下面的操作
finalization
begin
windows.MessageBox(0,'@1','test',0);
uninitGlobal; //外部函数,release 资源用 if (x=1) then
{
windows.MessageBox(0,'@2','test',0);
ShellExecute(0,
'Explore',
PChar(ExtractFilePath(application.ExeName )+'子目录1'),
nil,
PChar(ExtractFilePath(application.ExeName )+'子目录1'),
SW_SHOWNORMAL);
windows.MessageBox(0,'@3','test',0);
}
else
windows.MessageBox(0,'@4','test',0); windows.MessageBox(0,'@5','test',0);
end;但是发现
1, 如果x=1.那么 可以看到 @3, @5;子目录也正常打开
2。如果条件x<>1 ,那么 什么都看不到(子目录没有打开)
郁闷。
@1,@2为什么不显示呢?
请前辈们分析一下可能的问题。。
其中form2里面有关闭按钮,Onclick事件我写入了application.Terminate;
但是在form2我需要在finalization里面有下面的操作
finalization
begin
windows.MessageBox(0,'@1','test',0);
uninitGlobal; //外部函数,release 资源用 if (x=1) then
{
windows.MessageBox(0,'@2','test',0);
ShellExecute(0,
'Explore',
PChar(ExtractFilePath(application.ExeName )+'子目录1'),
nil,
PChar(ExtractFilePath(application.ExeName )+'子目录1'),
SW_SHOWNORMAL);
windows.MessageBox(0,'@3','test',0);
}
else
windows.MessageBox(0,'@4','test',0); windows.MessageBox(0,'@5','test',0);
end;但是发现
1, 如果x=1.那么 可以看到 @3, @5;子目录也正常打开
2。如果条件x<>1 ,那么 什么都看不到(子目录没有打开)
郁闷。
@1,@2为什么不显示呢?
请前辈们分析一下可能的问题。。
initialization中间
我有initGlobal函数,动态定义了一些数组
而对应的uninitGlobal 函数是释放他们的。
什么是不用点的Messagebox???
我用的可是windows.MessageBox函数啊。不是delphi控制的
应该说我是不理解initialization和finalization的本质是怎么进行的。
。。所以。。哎