Newsgroup: it.comp.lang.delphi
Titolo: Help splashscreen

 end;
Non capisco con che valore debbo dichiarare la costante *Startup* va
dichiarata nella Form1 ma con che valore?
La barra caption la si può eliminare? qualè la relativa proprietà?
Grazie.

Grazie.
niente
	Ciao
	MassimoB
 

Marco,
per realizzare uno splash screen io faccio cosě:
dopo aver creato una form quale splash (BorderStyle := bsNone), metto un
TTimer:
-----------------------------------
procedure TSplash.Timer1Timer(Sender: TObject);
begin
   Timer1.Enabled := False;
end;
-----------------------------------
nel  *.DPR metto:
------------------------------------
program Pippo;
uses
  Forms,
  ..................
  ..................
{$R *.RES}
begin
  Application.Initialize;
  Splash := Tsplash.Create(Application);
  Splash.Show;
  Splash.Update;
  While Splash.Timer1.Enabled do Application.processMessages;
  Application.CreateForm(TForm1, Form1);
  ..................ecc..........................
  Splash.hide;
  Splash.Free;
  Application.Run;
end.
------------------------------------------------
Ciao
Papa Foxtrot

 end.
Mi ritorna i seguaenti errori:
[Error] Unit1.pas(28): Undeclared identifier: 'Startup'
[Error] Unit1.pas(31): Undeclared identifier: 'SplashScreen'
[Error] Unit1.pas(31): Missing operator or semicolon
[Error] Unit1.pas(36): Undeclared identifier: 'Startup'
[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit1.pas'
dove sbaglio?
Grazie Massimo x la seconda parte della spiegazione, ma non sono ancora in
grado di arrivarci, piano piano spero...
Ciao

 form1 ed una sec onda form chiamata SplashScreen,
[]
Personalmente, per avere una splash form uso un approccio come segue:
nel sorgente di progetto (.dpr):
...
  Application.Initialize;
    // non essendo creata da Application frmSplash non e' Main
  frmSplash := TfrmSplash.Create(nil);
  frmSplash.Update;
  Application.Title := 'Titolo applicazione';
  Application.CreateForm(TfrmMain, frmMain);
  Application.Run;
...
in OnFormClose di TfrmSplash:
    Action := caFree;
nell'OnShow della frmMain (quando oramai e' pronta a mostrarsi) si avra'
semplicemente:
if frmSplash.Visible then
    frmSplash.Close;
(o al limite, se si vuole essere sofistici, si *posta* un messaggio
custom alla frmSplash per dirle di chiudersi).
Saluti
Paolo Arosio
-- 
"La dimostrazione dell'esistenza di specie intelligenti nell'universo
 e' che non ci vengono a trovare" [Calvin & Hobbes]

"MarcoCantonata" ha scritto nel messaggio
[...]
Non so se esiste ancora in Delphi 7.0, ma in tutte le versioni dalla 1.0
alla 6.0 nelle demo di c'è un ottimo esempio di applicazione con
SplashScreen. Cerca le cartelle:
[DelphiDir]\Demos\Db\IBMastApp
[DelphiDir]\Demos\Db\MastApp
e dai uno sguardo all'applicazione.
Ti faccio notare l'uso che fa di
Form := TFrom.Create() invece della Application.CreateForm
specificatamente per la screen di splash.
Ciao,
Gianluca.

Ciao
	Ciao
	MassimoB
-----------------------------FORM-MAIN------------------------------------------
unit UnitMain;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
type
  TFormMain = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
    Startup: Boolean; //Mancava questa dichiarazione
  public
    { Public declarations }
  end;
var
  FormMain: TFormMain;
implementation
uses UnitFormSplash;
{$R *.dfm}
procedure TFormMain.FormCreate(Sender: TObject);
begin
  Startup := True;
end;
procedure TFormMain.FormActivate(Sender: TObject);
begin
  if Startup then
  begin 
    Startup := False;
    FormSplash.Show;
  end;
end;
end.
 
-----------------------------FORM-SPLASH------------------------------------------
unit UnitFormSplash;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;
type
  TFormSplash = class(TForm)
    Timer1: TTimer;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  FormSplash: TFormSplash;
implementation
{$R *.dfm}
procedure TFormSplash.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;
procedure TFormSplash.Timer1Timer(Sender: TObject);
begin
  Self.Close;
end;
end.