Title: Message

Just out of interest I found that using the following code in your main form would give a correct result in Citrix

 

procedure TForm1.CreateWindowHandle(const Params: TCreateParams);

var

  NewParams : TCreateParams;

begin

  NewParams := Params;

  NewParams.ExStyle := NewParams.ExStyle or WS_EX_APPWINDOW;

  NewParams.Caption := PChar(Application.Title);

  inherited CreateWindowHandle(NewParams);

end;

 

This works great if your application will only be used in Citrix, but not as a desktop environment (On your desktop you would get two items in the taskbar). The advantage of this however is that you don’t need to modify Forms.pas.

 

Regards

Ben

 

-----Original Message-----
From: Stacey Verner [mailto:[EMAIL PROTECTED]
Sent:
Monday, 6 October 2003 2:20 p.m.
To: Multiple recipients of list delphi
Subject: RE: [DUG]:
Delphi Apps in a Seamless Citrix Environment

 

There is a problem with Delphi and Citrix Metaframe, where delphi
applications don't show on the task bar.

I have found that you can make a change to
forms.pas to fix this.

In TApplication.CreateHandle find the CreateWindowEx call and replace
it with the following.

// Change -> 19/07/2001
// Updated to create the application form as visible (by removing WS_POPUP)
// but it is created transparent with 1 transparent pixel in the top
// left corner of the screen;
FHandle := CreateWindowEx(WS_EX_APPWINDOW or WS_EX_TRANSPARENT
    , WindowClass.lpszClassName, PChar(FTitle)
    , WS_CAPTION or WS_CLIPSIBLINGS or WS_SYSMENU or WS_MINIMIZEBOX
    //  or WS_POPUP
    //, GetSystemMetrics(SM_CXSCREEN) div 2
    //, GetSystemMetrics(SM_CYSCREEN) div 2, 0, 0
    , -199, -19, 200, 20
    , 0, 0
    , HInstance
    , nil);
// <- Change

-----Original Message-----
From: Vaughan, Benjamin Carl [mailto:[EMAIL PROTECTED]
Sent:
Monday, 6 October 2003 14:01
To: Multiple recipients of list delphi
Subject: [DUG]:
Delphi Apps in a Seamless Citrix Environment

Hi All,

 

Currently our applications are published through a Citrix environment in which most of our users are set up to use the “Seamless Window” option.

 

The problem that I have is that the application does not appear in the users taskbar unless the application is Minimised. I have experimented with other applications and it does seem to only be applications that are created in Delphi that exhibit this problem. (For example publishing Notepad or Office behaves normally showing up in the taskbar at all times).

 

Anyone have any ideas on this?

 

Regards

Ben Vaughan

Reply via email to