Hallo zusammen.
Ich bin relativ neu im Bereich
OOP und habe bei meiner ersten Vererbung direkt ein Problem. Ich möchte die Felder, Methoden und Eigenschaften einer eigenen Klasse an zwei weitere Klassen vererben. Die Methode ist in der Elternklasse nicht implementiert, da diese bei den Kind Klassen unterschiedlich sein soll. Sowas nennt man dann wohl abstrakte Klasse soweit ich weiß!? Die ganze Sache sieht dann so aus:
Delphi-Quellcode:
type
TBulkTransferThread =
class(TThread)
private
{ Private-Deklarationen }
devHandle : PDXUSB_DEVICE;
Data : Pointer;
NumberOfBytes : ULONG;
Status : Pointer;
protected
procedure Execute;
override;
public
constructor create;
property tdevHandle: PDXUSB_DEVICE
read devHandle
write devHandle;
property tData: Pointer
read Data
write Data;
property tNumberOfBytes: ULONG
read NumberOfBytes
write NumberOfBytes;
property tStatus: Pointer
read Status
write Status;
end;
TBulkWriteThread =
class(TBulkTransferThread)
end;
TBulkReadThread =
class(TBulkTransferThread)
end;
implementation
procedure TbulkWriteThread.Execute();
begin
...
Ret := BulkWrite(...);
//(edit) in einer eingebundenen Unit implementiere Funktion(/edit)
...
end;
procedure TbulkReadThread.Execute();
begin
...
Ret := BulkRead(...);
//(edit) in einer eingebundenen Unit implementiere Funktion(/edit)
...
end;
Nach meinen Recherchen müssten TBulkWriteThread und TBulkReadThread alles von TBulkTransferThread geerbt haben. Allerdings kommt während des Kompilierens bei der Implementierung die Fehlermeldung 'Unbekannter Bezeichner' für den Procedure-Namen und die darin benutzten Felder. Was mache ich falsch?
Vielen Dank