![]() |
Delphi-Version: 5
SigSegV bei FormCreate
Hallo zusammen,
habe da eine neue Form kreiert, die mit einem Testetxt auch super angezeigt wird. OnCreate startet auch, die Form wird korrekt dargestellt. Nur...: Wenn ich da F_Menu.Top oder ähnliches, was sich auf F_Menu bezieht, eingebe erscheint ein SigSegV. Beim Kompilieren gibt es keine Fehlermeldungen. Der Pieps kommt, ich kann auch Objekte auf der Form ändern. F_Menu. ....... erzeugt den SigSegV Hat da jemand eine Idee? Gruß Manni ----------------------- Aufruf aus der aufrufenden Form:
Code:
--------------------------
F_Menu := TF_Menu.Create(Nil); //Form wird erstellt
F_Menu.ShowModal; //Form wird angezeigt FreeAndNil(F_Menu); //Form wieder freigeben In F_Menu:
Code:
procedure TF_Menu.FormCreate(Sender : TObject);
begin tone(440,250); F_Menu.Width := 300; end; // procedure TF_Menu.FormCreate |
AW: SigSegV bei FormCreate
Delphi-Quellcode:
procedure TF_Menu.FormCreate(Sender : TObject);
begin tone(440,250); // Wer ist hier F_Menu? Die globale Variable? // F_Menu.Width := 300; // besser so versuchen: {self.}Width := 300; end; |
[Gelöst] SigSegV bei FormCreate
Genau das war die Antwort. Ich habe die Width nach OnActivate verschoben und voila ...
Danke! |
AW: SigSegV bei FormCreate
Nein, es ist nicht die Lösung.
Es wird NIEMALS aus der Form auf die gleichnamige globale Variable zugegriffen. -> Self oder weglassen (implizites Self) Hättest du deine Form mit Visible=True (im FormDesigner/DFM) erstellt, dann könnte es dennoch knallen. Und würdes du den Debugger benutzen, dann wäre dir bestimmt aufgefallen, dass F_Menu NIL war, da im FormCreate. Außerdem ist es doch ein bissl blöd, wenn während des Ladens sich die Größe der "sichtbaren" Form ändert? PS: Setze lieber ClientWidth statt Width, denn in der DFM ist bestimmt ClientWidth gespeichert und da Embarcadero grob fahrlässig zu dämlich ist einen Bug zu beheben, sollte niemald Width und ClientWidth gemischt werden. |
AW: SigSegV bei FormCreate
Um welchen Bug geht es bei Width vs. ClientWidth?
|
AW: SigSegV bei FormCreate
Und dabei bitte berücksichtigen, dass wir hier von FreePascal reden und das ist (noch) nicht von Embarcadero ;-)
|
AW: SigSegV bei FormCreate
Ja, aber wer weiß was alles "gleich" gehalten wird. :stupid:
Nja, damals in D7 gab es das neue Problem noch nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 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 by Thomas Breitkreuz