Einzelnen Beitrag anzeigen

Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#33

AW: Fehler vor OnCreate finden

  Alt 20. Feb 2019, 16:26
Hallo hoika,

Zitat:
So wie ich es verstanden habe, hast Du ein Hauptprogramm,
was ein anderes Form startet und dort kommt schon beim Erzeugen (nicht in FormActivate) der Fehler?
Das Programm ruft bei Aufruf ein LogIn-Fenster auf (DoLogin):
Delphi-Quellcode:
begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  if ( not DoLogin ) then
      Exit;
  Application.CreateForm(TMain, Main);
  Application.CreateForm(TForm_Zeichnungen, Form_Zeichnungen);
  Application.CreateForm(TForm_Filter, Form_Filter);
  Application.CreateForm(TForm_Passwort, Form_Passwort);
  Application.CreateForm(TForm_LogIn, Form_LogIn);
  Application.CreateForm(TForm_Start, Form_Start);
  Application.CreateForm(TForm_Return, Form_Return);
  Application.Run;
  Main.WindowState:=wsMaximized;
end.
Der Benutzer gibt seinen LogIn-Namen und ein Passwort ein. Wenn beides passt, wird über eine Datenbankabfrage geprüft, schließt sich das LogIn-Fenster und das Programm setzt den Start fort.
Die Eingabe kann ich auch machen. Allerdings muss ich jedes Mal meinen Benutzer neu eingeben. In der OnShow-Procedure des Main-Form wird der Benutzer in eine Tabelle geschrieben, gemeinsame mit dem Computernamen. Beim öffnen des LogIn-Fensters wird geprüft, ob sich dieser Rechner schon mal angemeldet. Wenn ja, wird der letzte Benutzer-LogIn in das Eingabefeld geschrieben. Das Passiert nicht. Also tritt der Fehler vorher auf.

Zitat:
Woher weißt Du, dass es in/vorm OnCreate passiert?
Ich habe mir auch einen Remote_Debugger für Arme gebaut:
Ich habe in der Procedure des Ok-Buttons des LogIn-Fensters und in der onCreate Procedure des Main-Forms und in der onShow-Procedure des Main-Forms mit Hilfe einer TStringList eine Datei schreiben lassen, wobei ich nahzu Zeileweise den Durchlauf den Programm-Codes logge. Diese Datei habe ich dann auf den FileServer abgelegt - immer unter dem Namen des Rechners mit Datum und Uhrzeit. Die Datei würde auch im Exception-Fall geschrieben.
Bei den Problem-Rechnern wird die Datei im Login-Fenster geschrieben, aber keine vom Main-Form. Bei allen anderen Rechnern klappt das.

Deshalb gehe ich davon aus, dass der Fehler nach dem erfolgreichen LogIn, aber vor dem onCreate des Main-Form auftritt. Aber was ist dazwischen und wie kann ich das loggen?

Vielen Dank
Patrick
Patrick
  Mit Zitat antworten Zitat