AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SigSegV bei FormCreate

Ein Thema von ManniSt · begonnen am 6. Feb 2022 · letzter Beitrag vom 6. Feb 2022
Antwort Antwort
ManniSt

Registriert seit: 16. Okt 2019
28 Beiträge
 
FreePascal / Lazarus
 
#1

SigSegV bei FormCreate

  Alt 6. Feb 2022, 15:26
Delphi-Version: 5
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
Manfred
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#2

AW: SigSegV bei FormCreate

  Alt 6. Feb 2022, 16:23
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;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
ManniSt

Registriert seit: 16. Okt 2019
28 Beiträge
 
FreePascal / Lazarus
 
#3

[Gelöst] SigSegV bei FormCreate

  Alt 6. Feb 2022, 18:10
Genau das war die Antwort. Ich habe die Width nach OnActivate verschoben und voila ...

Danke!
Manfred
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#4

AW: SigSegV bei FormCreate

  Alt 6. Feb 2022, 18:48
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 6. Feb 2022 um 18:55 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.936 Beiträge
 
Delphi 12 Athens
 
#5

AW: SigSegV bei FormCreate

  Alt 6. Feb 2022, 19:55
Um welchen Bug geht es bei Width vs. ClientWidth?
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#6

AW: SigSegV bei FormCreate

  Alt 6. Feb 2022, 20:13
Und dabei bitte berücksichtigen, dass wir hier von FreePascal reden und das ist (noch) nicht von Embarcadero
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#7

AW: SigSegV bei FormCreate

  Alt 6. Feb 2022, 21:20
Ja, aber wer weiß was alles "gleich" gehalten wird.

Nja, damals in D7 gab es das neue Problem noch nicht.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 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