Al, I never thought of creating my SplashForm without an owner, but when I read your reply to Joe I got thinking about this. I gave it a try and sure enough, it solved the visual problems with my MainForm! Evidently D2009 is confused when more then one form is owned by the Application in the dpr! Is that strange or what?
from "Robert Meek" dba "Tangentals Design" Creative Concepts Programming for Windows Vista E-mail: ffo...@comcast.net See my full review of Dr. Bob's 'Delphi 2009 Development Essentials' at: http://edn.embarcadero.com/article/39782 Best quote from CNN Morning News 8/12/09: "WTF...Carrie Underwood was #9! Opps! Did I say that again?" -----Original Message----- From: delphi-boun...@elists.org [mailto:delphi-boun...@elists.org] On Behalf Of Alan Colburn Sent: Friday, August 14, 2009 12:16 PM To: Borland's Delphi Discussion List Subject: Re: Unable to Get Handle On Monitor Thanks, Jeremy. I'm using Delphi 2006. I experimented with different default monitor settings, and always got the same error. All that changed was the line in which the error happened; the line corresponded to whatever I had set for the default monitor property. I will continue to experiment, using your stable code as a starting point. Thanks again -- Al p.s. D2006 doesn't have an Application.MainFormOnTaskBar property. On Thu, Aug 13, 2009 at 5:52 PM, Jeremy North <jeremy.no...@gmail.com> wrote: You didn't state your delphi version or which default monitor settings are applied to the forms. A project source as below works as expected for me on a multi-monitor system. This is in Delphi 2009. program SplashTest; uses Forms, SysUtils, MainForm in 'MainForm.pas' {Form29}, DataModule in 'DataModule.pas' {data: TDataModule}, SplashForm in 'SplashForm.pas' {frmSplash}; {$R *.res} begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(Tdata, data); frmSplash := TfrmSplash.Create(nil); try frmSplash.Show; frmSplash.Update; Application.CreateForm(TForm29, Form29); finally FreeAndNil(frmSplash); end; Application.Run; end. I just run a simple loop in the FormCreate to delay the launching and allow the marquee progress bar to update on the splash. If you want the test project I can can it to you directly. procedure TForm29.FormCreate(Sender: TObject); var LCnt: Int64; I: Integer; begin LCnt := 0; for I := 1 to 99999999 do begin Inc(LCnt, I); Application.ProcessMessages; end; Caption := IntToStr(LCnt); end; _______________________________________________ Delphi mailing list -> Delphi@elists.org http://lists.elists.org/cgi-bin/mailman/listinfo/delphi _______________________________________________ Delphi mailing list -> Delphi@elists.org http://lists.elists.org/cgi-bin/mailman/listinfo/delphi