Link to home
Create AccountLog in
Avatar of PAG_Promax

asked on

Delphi Application - Windows Order (Z Order) wrong under Citrix

Hi there,

We have an older (still in development) product in the market which has a problem running under Citrix.  The application is essentially an MDI application, but in one particular place, two modal dialog boxes are created over the MDI child form.

So,  MDI application -> MDI Child -> Modal Dialog -> Modal Dialog Selection Screen

At the point where the Modal Dialog Selection Screen is shown, quite often the form is actually drawn behind either the owner form, or even the MDI Child (we think it may even be drawn behind the MDI application itself).

On each of the forms, I've added to the FormActivate event BringToFront.  I've also removed all processing work from the OnCreate and OnShow events so that the form is definately drawn before anythng happens.

Can anyone tell me how I can fix this?  We're banging our heads against the way because the client can consistently reproduce it.  To reproduce it, they need to ensure that the Citrix desktop is not in view (IE, another Window must cover it).

Citrix is working as an application server with no desktop visible.

If you need any more information, please ask.  We're desperate for an answer.

Avatar of BLipman
Flag of United States of America image

Try using a session type other than Seamless. Seamless Windows are notorious for this kind of behavior.  Use a Percent of Screen Size (99% is good) or a Fixed Size and see if the problem persists.  There are also some hotfixes regarding the spawning of child windows in a seamless session.
Avatar of PAG_Promax


Hi BLipman,

I dont know anything about Citrix, so if you could spare the time to explain what you mean, that'd be great.

I have seen some hot fixes around for this issue, but none of them seem to relate to Metaframe XP.  Do you know of any that do?

Thanks again!

Hello, to change how you connect it will depend on the client you use.  If you use the web interface, click on the settings button on the web interface screen (one of the icons to the right of Applications in the grey bar).  You can find the connection settings and then change the type from "seamless" so some other type.  
If you are using the Program Neighborhood, you can click the Settings button on the top of the window and go to the Options page.  
H i BLipman,

The application is already running in non-seamless mode worst luck.  That was the first thing we tried.

We've tried pretty much everything we can find, and we've sent an update to the client to see if it is fixed or not, but we've heard nothing back yet.  We've also sent them more info from the Citrix Knowledge Base which documents this fault, but a fix for it.  Again, we've heard nothing.

I'll keep you all informed.

Many thanks,

That is too bad, most of these are from Seamless.  I hope you figure this one out.  Do you get the issue from an RDP session or from the server console?  
Hi BLipman,

It's just from the RDP session.  Apparently the issue doesn't happen out of RDP.

They've applied the hot fix and it's still doing it, although its down to 1/10 times now.  We're completely out of ideas now so I dont know what to do.


Avatar of PAG_Promax

Link to home
Create an account to see this answer
Signing up is free. No credit card required.
Create Account