Einzelnen Beitrag anzeigen

needatip

Registriert seit: 11. Jan 2004
246 Beiträge
 
Delphi 10.4 Sydney
 
#1

Wie auf Komponenten und Ereignisse im eigebettenten Formular zugreifen?

  Alt 26. Jan 2018, 09:41
Hallo, ich lade ein Formular(Form1) in ein Panel(ContainerPanel) das auf meinem Hauptformular(MainForm) liegt:

Delphi-Quellcode:
var MainForm: TMainForm;
...
procedure TMainForm.FormCreate(Sender: TObject);
var
  NewFormClass: TFormClass;
  NewForm: TForm;
begin
  NewFormClass := TForm1;
  if ContainerPanel.ControlCount > 0 then
    ContainerPanel.Controls[0].Free;
  if Assigned(NewFormClass) then
  begin
    NewForm := NewFormClass.Create(Self);
    NewForm.Hide;
    NewForm.BorderStyle := bsNone;
    NewForm.Parent := ContainerPanel;
    NewForm.Align := alClient;
    NewForm.Show;
  end;
end;
Im Formular(Form1) habe ich einen Button der nun ein weiteres Formular(Form2) öffnet.
Form2 erstelle ich ganz normal in der IDE, ist also unabhängig von Form1 und MainForm.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Show;
end;
angezeigt wird.

Wie kann ich nun z.B. von Form2 die Komponenten(Eigenschaften) und Ereignisse von Form1 ansprechen?
Wenn ich z.B. ein Label(Label1) auf Form1 habe.

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin
  Form1.Label1.Caption:= 'Test !';
end;
Leider reagiert Form1 nicht auf meinen Button.
Hab schon verschiedenes mit Parent Anweisungen wie

Form2.Parent:= Form1; usw. versucht leider ohne Erfolg.
  Mit Zitat antworten Zitat