Lazarus: Objekte aus Form1 in Form 2 verändern?
Hallo Leute, ich versuche mit einer Form1 per Click einen Button in der Form2 verschwinden zu lassen. Ich habe nur das Problem, dass ich aus einem Grund die Fehlermeldung :"sigsegv" angezeigt bekomme.
Ich würde mich sehr freuen wenn jemand mir einen Tipp geben könnte wie man dies umsetzen könnte.
Beste Grüße
1 Antwort
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
SIGSEGV kann für viele verschiedene Fehler stehen, daher wären dahingehend mehr Informationen notwendig.
Zur grundsätzlichen Vorgehensweise:
Du benötigst in dem Klick-Handler der ersten Form eine Instanz von der zweiten Form. Diese sollte eine Methode bereitstellen, die den Button versteckt.
Ein Beispiel dürfte so in etwa aussehen:
type
TForm1 = class(TForm)
private
form2: TForm;
procedure Click(Sender: TObject);
{ ... }
procedure TForm1.Click(Sender: TObject);
begin
form2.HideButton();
end;
{ ... }
Irgendwo musst du form2 natürlich noch definieren / erstellen, z.B. im Konstruktor.
In der zweiten Form müsstest du eine Methode HideButton anlegen, die den Button anspricht und ihn unsichtbar macht. Das Property, welches du setzen musst, sollte Visible oder Visibility heißen.
![](https://images.gutefrage.net/media/default/user/12_nmmslarge.png?v=1551279448000)
Vielen Dank, Ich hatte vergessen Form2 zu definieren..., Beste Grüße fw1996