Einzelnen Beitrag anzeigen

NetSonic

Registriert seit: 10. Mai 2007
124 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Eigene Klasse von TForm ableiten - Events

  Alt 24. Mai 2011, 10:21
Hallo zusammen,

ich habe schon die Foren-Suche bemüht, aber für mich nicht das richtige gefunden. Vielleicht könnt Ihr mir ja einen bzw. den entscheidenden Tip geben:

Ich möchte eine eigene Form (TMyForm) von TForm ableiten und um ein weiteres Event ergänzen. Dieses soll ausgelöst werden, wenn der Aufruf SetMyParams(sAction) gemacht wurde. Wie muss ich das anstellen. Meine Klasse sieht bis jetzt wie folgt aus:

Delphi-Quellcode:
unit MyFormUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
TMyEvent = procedure(Sender:TObject; sAction: String) of object;
TMyForm = class(TForm)
  private
    { Private-Deklarationen }
    FOnSetMyParams: TMyEvent;
  property MyEvent:TMyEvent read FOnSetMyParams write FOnSetMyParams;
  public
    { Public-Deklarationen }
    procedure SetMyParams(sAction: String);
  end;

var
  MyForm: TMyForm;

implementation

{$R *.dfm}

procedure TMyForm.SetMyParams(sAction: String);
begin
if Assigned(FOnSetMyParams) then MyEvent(Self, sAction);
end;

initialization
  RegisterClass(TMyForm);

finalization
  UnRegisterClass(TMyForm);

end.
Aber das Ereignis wird nicht ausgelöst, obwohl ich auf die Prozedur SetMyParams zugreifen kann und die Klasse auch entsprechend vererbt wurde.
Ziel ist es, diese "neue" Formular-Klasse zu nutzen, um Programminterne-Ereignisse auszulösen. Also z.B. von einer anderen Form aus, auf SetMyParams zuzugreifen und eine Zeichenfolge zu übergeben, auf die ich dann im TMyForm-Event reagieren kann. Hoffe, mein Vorhaben ist soweit klar geworden?!

Danke.

Gruß
NetSonic
  Mit Zitat antworten Zitat