TProtokoll1 und TProtokoll2 sind Property.
Diese sollten im Create der Klasse TFahrzeug erzeugt und im Destroy der Klasse TFahrzeug auch wieder freigegeben werden.
Wenn du Daten von TFahrzeug im TProtokoll1 oder TProtokoll2 zur Verfügung haben möchtest, dann muss TFahrzeug diese an TProtokoll vorher übergeben. Holen geht nicht.
Du könntest diese Daten in der Methode TProtokoll1.EmpfangVerarbeiten(FKennzeichen: string);, die du ja in TFahrzeug aufrufst, übergeben.
Delphi-Quellcode:
type
TProtokoll1 = class
private
FEigenesFeld: integer;
procedure EmpfangVerarbeiten(Kennzeichen: string);
end;
type
TProtokoll2 = class
private
FEigenesFeld: integer;
procedure EmpfangVerarbeiten(Kennzeichen: string);
end;
type
TFahrzeug = class
private
FKennzeichen: String;
FProtokoll1: TProtokoll1;
FProtokoll2: TProtokoll2;
procedure EmpfangVerarbeiten;
procedure SetKennzeichen(aKennzeichen:String);
public
property Kennzeichen: String read FKennzeichen write SetKennzeichen;
end;
procedure TFahrzeug.EmpfangVerarbeiten;
begin
if Data[1] = #1 then
begin
if not Assigned(FProtokoll1)
then FProtokoll1 := TProtokoll1.Create;
FProtokoll1.EmpfangVerarbeiten(FKennzeichen);
end;
end;
procedure TProtokoll1.EmpfangVerarbeiten(Kennzeichen: string);
begin
Hier kann du jetzt auf Kennzeichen zugreifen
end;