[Splashscreen] Zugriffsfehler
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Leute,
ich habe für mein Programm einen Splashscreen (Ladefenster wie auch immer...) erstellt. Aber wenn ich das Programm ausführe erhalte ich immer einen Zugriffsfehler (s.Anhang)! Funktionieren tuts trotzdem! Doch hab ich nicht immer lust erst irgendwo auf 'OK' klicken zu müssen um das Programm nutzen zu können.
Delphi-Quellcode:
Vllt ist hier ein Fehler drinne?!
program DesktopUhr6;
uses Forms, Main in 'Main.pas' {Form1}, Einstellungen in 'Einstellungen.pas' {Form2}, Hilfe in 'Hilfe.pas' {Form3}, laden in 'laden.pas' {frmLaden}; {$R *.res} begin frmLaden := TfrmLaden.Create(Application); try frmLaden.Show; frmLaden.Refresh; Application.Initialize; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.CreateForm(TForm3, Form3); finally frmLaden.InitializationDone := True; end; while frmLaden <> nil do Application.ProcessMessages; Application.Run; end. Weiterer Code den ich auf dem Form zum Laden habe:
Delphi-Quellcode:
UNd auf dem Hauptformular ist folgendes:
procedure TfrmLaden.SetInitializationDone(const Value: Boolean);
begin FInitializationDone := Value; Close; end; procedure TfrmLaden.FormCreate(Sender: TObject); begin frmLaden.Color := clBlack; frmLaden.DoubleBuffered := true; end; procedure TfrmLaden.Timer1Timer(Sender: TObject); begin Timer1.Enabled := False; Close; end; procedure TfrmLaden.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin CanClose := (not Timer1.Enabled) and FInitializationDone; end; procedure TfrmLaden.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; frmLaden := nil; end;
Delphi-Quellcode:
Ich hab mal die (unfertige) EXE angehängt, vllt hilft euch das ja auch was.
procedure TForm1.FormCreate(Sender: TObject);
begin Sleep(300); frmLaden.Refresh; end; |
Re: [Splashscreen] Zugriffsfehler
Delphi-Quellcode:
Versuch mal die "frmLaden"-Angabe im FormCreate wegzulassen. Du solltest in der Klasse nicht auf die globale Variable zurückgreifen sondern wie hier (implizit) auf "Self"!
procedure TfrmLaden.FormCreate(Sender: TObject);
begin Color := clBlack; DoubleBuffered := true; end; mfG mirage228 |
Re: [Splashscreen] Zugriffsfehler
Zitat:
Allgemein würde ich versuchen zu vermeiden, diesen Bug abhängig von der Geschwindigkeit zu machen, mit dem die 3 Forms erstellt werden, da dies abhängig von der Rechnergeschwindigkeit ist! Gruß alias5000 |
Re: [Splashscreen] Zugriffsfehler
Zitat:
Trotzdem danke! |
Re: [Splashscreen] Zugriffsfehler
Und wenn du das Sleep(300) wegmachst? Das meinte ich eigentlich...
|
Re: [Splashscreen] Zugriffsfehler
Zitat:
So einfach ist das also... iwie bin ich in letzter Zeit darauf eingestellt, das alles kompliziert muss ^^ Zitat:
Ich habs nu einfach mal ganz weggelassen. Ich danke euch beiden für die Hilfe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz