Thema: Delphi Tutorial: Splash Screens

Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#83

Re: Tutorial: Splash Screens

  Alt 20. Mär 2008, 20:26
Zitat von bacci:
[...]

Delphi-Quellcode:
program Kundenverwaltung;

uses
  Forms,
  form_kunden in 'form_kunden.pas{kunden},
  main in 'main.pas{Master},
  form_mitarbeiter in 'form_mitarbeiter.pas{Mitarbeiter},
  form_artikel in 'form_artikel.pas{Artikel},
  form_auftragsverwaltung in 'form_auftragsverwaltung.pas{Auftragsverwaltung},
  form_bestellung in 'form_bestellung.pas{bestellung},
  form_rechnung in 'form_rechnung.pas{Rechnung},
  splash in 'splash.pas{Form1},
  form_alte_bestellung in 'form_alte_bestellung.pas{alte_bestellungen};

{$R *.res}

begin
 //


Form1 := TForm1.Create(Application);
  with TForm1.Create(nil) do
 try
RzProgressBar1.visible:=true;
RzProgressBar1.percent:=0;
  Form1.Show;
  Form1.Refresh;
  Application.Title := 'KAV - IDL stone solutions';
  Application.Initialize;
  Application.Title := 'IDL KAV';
  Application.CreateForm(TMaster, Master);
  Application.CreateForm(Tkunden, kunden);
RzProgressBar1.percent:=40;
  Application.CreateForm(Tbestellung, bestellung);
  Application.CreateForm(TRechnung, Rechnung);
RzProgressBar1.percent:=60;
  Application.CreateForm(Talte_bestellungen, alte_bestellungen);
  Application.CreateForm(TMitarbeiter, Mitarbeiter);
RzProgressBar1.percent:=80;
  Application.CreateForm(TArtikel, Artikel);
  Application.CreateForm(TAuftragsverwaltung, Auftragsverwaltung);
RzProgressBar1.percent:=100;
RzProgressBar1.visible:=false;

  Finally
// SplashScreen Fenster freigeben
 Form1.InitializationDone := True;
end;
// while form1 <> nil do
// Application.ProcessMessages;
  Application.Run;
end.

Danke für eure Mühe, aber nach 2 Tagen Google und Forum durchsuchen hab ich jetzt aufgegeben und frage dann doch ... ;-((
Is zwar schon etwas her.
Aber: Ich würde folgendes machen.
Erstmal solltest du verstehen, was "with" macht. Dann solltest du wissen, was ".Create" für auswirkungen hat, und dann ist es ganz einfach

Ich mach das mal ganz kurz:
Delphi-Quellcode:
Form1 := TForm1.Create(Application);
with Form1 do // Du arbeitest mit dem Objekt bzw. der Instanz "Form1" und nicht mit einem neuen Objekt!
  try
    // Fenster erstellen
    ...
    // Hier nun die Progressbar weitergehen lassen ^^
    RzProgressBar1.Percent := <0..100>
    // Und jedesmal NEUZEICHNEN
    RzProgressBar1.Repaint;

    // Und nochmal
    // Fenster erstellen
    ...
    // Hier nun die Progressbar weitergehen lassen ^^
    RzProgressBar1.Percent := <0..100>
    // Und jedesmal NEUZEICHNEN
    RzProgressBar1.Repaint;

    // Und nochmal
    // Fenster erstellen
    ...
    // Hier nun die Progressbar weitergehen lassen ^^
    RzProgressBar1.Percent := <0..100>
    // Und jedesmal NEUZEICHNEN
    RzProgressBar1.Repaint;

    // Bis alle Fenster erstellt wurden!
  finally
    InitializationDone := true; // Kein Form1 weil du ja schon sagst, dass er überall "Form1" davorsetzen soll (with <...> do)
  end;

Application.Done;
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat