Hallo,
ich möchte ein Ereignis in eine Class integrieren. Wenn die Class innerhalb des Forms deklariert wird ist das so möglich:
Delphi-Quellcode:
type
THPLCom1 = class(TComponent)
private
FCom1: TApdCustomComPort;
FPack1: TApdDataPacket;
public
Constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
end;
type
TForm3 = class(TForm)
btnCOMPortOeffnen: TButton;
btnCOMPortSchliessen: TButton;
MemoDatenAnzeigen: TMemo;
procedure btnCOMPortOeffnenClick(Sender: TObject);
procedure btnCOMPortSchliessenClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
ComTest2: THPLCom1;
Procedure MyStringPacketTest (Sender: TObject; Data: String); // Event!
end;
Das Ereignis zuweisen geht so:
Delphi-Quellcode:
procedure TForm3.FormCreate(Sender: TObject);
begin
ComTest2:= THPLCom1.Create(self);
ComTest2.FPack1.OnStringPacket:= MyStringPacketTest; // Event zuweisen
end;
Das Ereignis verwenden so:
Delphi-Quellcode:
Procedure TForm3.MyStringPacketTest (Sender: TObject; Data: String); // Event ausführen
begin
MemoDatenAnzeigen.lines.Add(Data);
end;
Ich will nun die Class in eine separate
Unit ablegen und suche jetzt eine Möglichkeit das Ereignis mit in die Class zu integrieren.
Die Class in der separaten
Unit sieht so aus:
Delphi-Quellcode:
unit uApdComPortDynamischErstellen;
interface
uses
Classes, AdPort, AdPacket;
type
THPLComPortClass=
Class(TComponent)
private
FComPort : TApdCustomComPort;
FStringPackete : TApdDataPacket;
function GetOeffnen: Boolean;
procedure SetOeffnen(
const Value: Boolean);
function GetZuweisen: TApdCustomComPort;
procedure SetZuweisen(
const Value: TApdCustomComPort);
public
Constructor Create(AOwner : TComponent);
override;
destructor Destroy;
override;
property Oeffnen: Boolean
Read GetOeffnen
Write SetOeffnen;
property zuweisen: TApdCustomComPort
Read GetZuweisen
Write SetZuweisen;
End;
An welcher Stelle und wie kann ich das Ereignis in der Class ablegen?
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.