Lazarus: Objekte aus Form1 in Form 2 verändern?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

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.

fw1996 
Fragesteller
 05.03.2019, 19:31

Vielen Dank, Ich hatte vergessen Form2 zu definieren..., Beste Grüße fw1996

0