![]() |
Wie bastel ich ordentlich ein Debug-Fenster
Moin.
Ich hab ein Programm. Da habe ich mir eine neue Form gebastelt mit nem Memo, wo ich Debug-Meldungen reinschreibe. So, wenn MainFormCreate abläuft, werden Treiber geladen etc. was darin protokolliert werden soll. Also muss die DebugForm vor der MainForm erstellt werden, weil ja sonst die MainForm noch nicht in der DebugForm mit dem DebugMemo arbeiten kann. Problem: Nun wird natürlich zuerst die DebugForm angezeigt. Habe versucht das mit sowas zu unterbinden:
Delphi-Quellcode:
Funktioniert leider net. Warum? Keine Ahnung. Sagt es mir :(
procedure TDebugForm.FormCreate(Sender: TObject);
begin If ParamStr(1) = '-debug' then Show Else Hide; end; Wie kann ich das sonst noch machn? Gibt es da inen Standard oder so? So sieht meine MainFormCreate aus:
Delphi-Quellcode:
procedure TMainForm.FormCreate(Sender: TObject);
begin Show; //Port definieren Port := str2int('378', True); DebugForm.DebugMemo.Lines.Add('Port gesetzt auf: 378'); DebugForm.DebugMemo.Lines.Add('- - -'); //Treiber starten if ZLIOStarted then begin Statusbar.Panels[0].Text := 'Treiber gestartet !'; DebugForm.DebugMemo.Lines.Add('Treiber erfolgreich gestartet !'); DebugForm.DebugMemo.Lines.Add('- - -'); end else begin Statusbar.Panels[0].Text := 'Fehler bei Treiber!'; DebugForm.DebugMemo.Lines.Add('Fehler! Treiber nicht gestartet.'); DebugForm.DebugMemo.Lines.Add('- - -'); end; Portread; end; |
Re: Wie bastel ich ordentlich ein Debug-Fenster
wie erzeugst du denn das Debugformular? So wie es scheint hast du es einfach nur angelegt und lässt es automatisch erzeugen. Somit wird es natürlich zum Hauptformular.
|
Re: Wie bastel ich ordentlich ein Debug-Fenster
Richtig.
Wie sonst? Es wird ja das zum Hauptformular, was als erstes erzeugt wird. Aber wie kann ich es sonst machn? |
Re: Wie bastel ich ordentlich ein Debug-Fenster
es wird nicht das zum hauptformular was als erstes erzeugt wird sondern das erste was mit Application.CreateForm erzeugt wird. Wenn du das Fenster manuell mit TDeinDebugFenster.Create erzeugst sollte es nicht zum Mainform werden.
|
Re: Wie bastel ich ordentlich ein Debug-Fenster
Zitat:
Das werd ich gleich ma ausprobiern... Es geht nicht. Mein MainForm.Create
Delphi-Quellcode:
Mein Quelltext
procedure TMainForm.FormCreate(Sender: TObject);
begin Application.CreateForm(TDebugForm, DebugForm); DebugForm.Hide; Show; If ParamStr(1) = '-debug' then DebugForm.Show Else DebugForm.Hide; //Port definieren Port := str2int('378', True); DebugForm.DebugMemo.Lines.Add('Port gesetzt auf: 378'); DebugForm.DebugMemo.Lines.Add('- - -'); //Treiber starten if ZLIOStarted then begin Statusbar.Panels[0].Text := 'Treiber gestartet !'; DebugForm.DebugMemo.Lines.Add('Treiber erfolgreich gestartet !'); DebugForm.DebugMemo.Lines.Add('- - -'); end else begin Statusbar.Panels[0].Text := 'Fehler bei Treiber!'; DebugForm.DebugMemo.Lines.Add('Fehler! Treiber nicht gestartet.'); DebugForm.DebugMemo.Lines.Add('- - -'); end; Portread; end;
Delphi-Quellcode:
Das Debug-Fenster wird immernoch angezeigt :(
begin
Application.Initialize; Application.Title := 'LPT-Steuerung'; Application.CreateForm(TMainForm, MainForm); Application.CreateForm(TInfoForm, InfoForm); Application.CreateForm(TOptionenForm, OptionenForm); //Application.CreateForm(TDebugForm, DebugForm); Application.Run; end. |
Re: Wie bastel ich ordentlich ein Debug-Fenster
Code:
begin
[color=#ff0000] DebugForm := TDebugForm.Create(nil); If ParamStr(1) = '-debug' then DebugForm.Show[/color] Application.Initialize; Application.Title := 'LPT-Steuerung'; Application.CreateForm(TMainForm, MainForm); Application.CreateForm(TInfoForm, InfoForm); Application.CreateForm(TOptionenForm, OptionenForm); Application.Run; end. |
Re: Wie bastel ich ordentlich ein Debug-Fenster
Argh.
Jetz spielt mein ganzes Programm verrückt. Auch nachdem ich es in den Urzustand zurück gesetzt habe! Es find keine Variablen mehr und so weiter...
Delphi-Quellcode:
var
MainForm: TMainForm; data, Port: Word; stat: String; i: Integer; procedure TMainForm.FormCreate(Sender: TObject); {If ParamStr(1) = '-debug' then DebugForm.Show Else DebugForm.Hide;} //Port definieren Port := str2int('378', True); DebugForm.DebugMemo.Lines.Add('Port gesetzt auf: 378'); DebugForm.DebugMemo.Lines.Add('- - -'); //Treiber starten if ZLIOStarted then begin Statusbar.Panels[0].Text := 'Treiber gestartet !'; DebugForm.DebugMemo.Lines.Add('Treiber erfolgreich gestartet !'); DebugForm.DebugMemo.Lines.Add('- - -'); end else begin Statusbar.Panels[0].Text := 'Fehler bei Treiber!'; DebugForm.DebugMemo.Lines.Add('Fehler! Treiber nicht gestartet.'); DebugForm.DebugMemo.Lines.Add('- - -'); end; Portread; end; Zitat:
|
Re: Wie bastel ich ordentlich ein Debug-Fenster
bei
Delphi-Quellcode:
fehlt irgendwie das "begin".
procedure TMainForm.FormCreate(Sender: TObject);
liegt es vielleicht daran? |
Re: Wie bastel ich ordentlich ein Debug-Fenster
Zitat:
Kommt davon wenn man stundenlang auf Quelltext starrt, man sieht die banalsten Sachen nicht mehr. Wollte deswegen das Topic net wieder ausgraben. Aber Danke für die Antwort :) |
Re: Wie bastel ich ordentlich ein Debug-Fenster
Zitat:
Alleine schon, damit wir anderen Bescheid wissen und uns nicht umsonst den Kopf zermartern, um Dir zu helfen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz