Failed to create win32 control; error 1407 Fensterklasse wurde nicht gefunden

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1866
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Failed to create win32 control; error 1407 Fensterklasse wurde nicht gefunden

Beitrag von fliegermichl »

Ich habe in einem Programm eine Lizenzprüfung eingebaut, welche im initialization Teil einer Unit aufgerufen wird.
Wenn diese Prüfung ergibt, dass die Lizenz ungültig ist, soll eine Fehlermeldung angezeigt werden und das Programm danach beendet werden.

Ich bekomme jedoch oben gezeigte Fehlermeldung.
Ist das ein Bug oder per Design?

Man kann es ganz einfach nachvollziehen, indem man ein Projekt mit 2 Formularen anlegt und im initialization Teil von unit1

Code: Alles auswählen

initialization
 form2 := TForm2.Create(Application);
 form2.ShowModal;
end.
eingibt.
Lazarus 5.99 (rev main_5_99-235-g1827aa6e6c) FPC 3.2.2 i386-win32-win32/win64

Benutzeravatar
theo
Beiträge: 11417
Registriert: Mo 11. Sep 2006, 19:01

Re: Failed to create win32 control; error 1407 Fensterklasse wurde nicht gefunden

Beitrag von theo »

"initialization" ist wahrscheinlich zu früh für GUI Zeug.
Da weiss die "Application" noch gar nicht, dass sie eine ist. :wink:
Unit Initialization Sections: If you have an initialization block in a Pascal/Delphi unit, that code runs automatically before the main program's begin...end block starts.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1866
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Failed to create win32 control; error 1407 Fensterklasse wurde nicht gefunden

Beitrag von fliegermichl »

Ja vermutlich hast du recht. Ich habe es jetzt so gelöst, daß ich bei der Prüfung nur eine Variable befülle und erst nach dem Laden der Mainform auswerte und entsprechend reagiere.
Ich bin halt darüber gestolpert, weil es in Delphi funktioniert hat.

Antworten