Einzelnen Beitrag anzeigen

Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#1

[gelöst] Vererbung funktioniert nicht

  Alt 10. Okt 2007, 11:53
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
  Mit Zitat antworten Zitat