Title: Message
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Vaughan, Benjamin Carl
Sent: Wednesday, April 21, 2004 8:53 AM
To: NZ Borland Developers Group - Delphi List
Subject: [DUG] Modal Forms in a Citrix Environment

Hi All,

 

I have found that modal forms in Delphi applications do not work correctly in the Citrix “Seemless Window” environment.

 

Basically it is possible to click on the title bar of the main form and bring it in front of the modal form. In this case the Main Form is still disabled but now in front of the modal form. Problems really arise if the main form is maximised, in this situation you have effectively locked yourself out of the application and need to close your Citrix session.

 

After further investigation into why this happens for Delphi Applications and not ones developed in other languages I found that it is tied into the fact that Delphi creates a windows handle for both the TApplication and the MainForm. All additional forms are created with the TApplication handle as the parent handle. It seems that because the parent handle of the modal form is different to the handle of the main form that modal forms do not work in a seamless window environment.

 

Which brings me to my question, is the fact that Delphi creates two handles for any basic application not a dodgy hack? No other language does this (at least of the ones I tried), and only Delphi built applications misbehave in Citrix (i.e. missing from the taskbar & modal forms). Does anyone know any justification for the Delphi application to have two window handles? 

 

I have seen similar problems in the taskbar with Foxpro under Windows XP, where an application would either have two or no entries on the task bar expecially when starting - related?

 

Opinions welcome.

 

Ben

_______________________________________________
Delphi mailing list
[EMAIL PROTECTED]
http://ns3.123.co.nz/mailman/listinfo/delphi

Reply via email to