Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Komponente mit Formular-Wie von Form auf Variablen zugreifen (https://www.delphipraxis.net/121192-komponente-mit-formular-wie-von-form-auf-variablen-zugreifen.html)

DelphiPeter 23. Sep 2008 20:19


Komponente mit Formular-Wie von Form auf Variablen zugreifen
 
Hallo Zusammen!

Habe mal eine VCL Komponente gebastelt. Über eine Prozedur der Komponente soll ein Formular angezeigt werden. Klickt der User auf ein Button in dem Formular, soll eine Funktion der Komponente aufgerufen werden.

Z.B. so

// Zum anzeigen des Formulars
MyKompo.ShowInfo;

// Im Dialog - Button Klick
..
{Button1.Click}
..
MyKompo.CheckEntry(edit1.text);
..

Mir fehlen da scheinbar ein paar Grundlegende Infos zu Formularen in Komponenten. Kann mir da vielleicht jemand von euch helfen?

Uwe Raabe 23. Sep 2008 20:55

Re: Komponente mit Formular-Wie von Form auf Variablen zugre
 
Wenn die Komponentenklasse dem Form bekannt ist, deklariere im Form ein Property vom Typ der Komponente und setz es auf die Komponenenten-Instanz, wenn du das Formular aufrufst. Etwa so:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    ...
  private
    ...
    FKomponente: TKomponente;
    ...
  public
    ...
    property Komponente: TKomponente read FKomponente write FKomponente;
    ...
  end;

...

procedure TForm1.Button1Click(Sender: TObject);
begin
  ...
  Komponente.CheckEntry(edit1.Text);
  ...
end;

...

procedure TKomponente.ShowInfo;
var
  InfoForm: TForm1;
...
begin
  ...
  InfoForm := TForm1.Create(Application);
  try
    InfoForm.Komponente := Self;
    ...
  finally
    InfoForm.Free;
  end;
end;

DelphiPeter 23. Sep 2008 21:14

Re: Komponente mit Formular-Wie von Form auf Variablen zugre
 
ACHSO!... *an den kopf hau*

Alles klar, vielen dank, das ist wirklich super.

Danke!

Gruß,
Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:20 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