Einzelnen Beitrag anzeigen

s-off
(Gast)

n/a Beiträge
 
#2

Re: Vererbung funktioniert nicht

  Alt 10. Okt 2007, 10:59
Hallo,

BulkWrite und BulkRead gibt es in TBulkTransferThread doch gar nicht.
Oder erbt dieses diese Methoden wiederrum von TThread? Kann das zur zeit nicht nachsehen.

Edit:
Ah, jetzt verstehe ich, worauf Du hinauswillst


Du musst diese Methoden schon in der Basisklasse deklarieren; nur das implementieren kannst Du Dir sparen

Als, deklariere sie als virtual; abstract in der Basisklasse, und in der Kindklasse dann mit 'override', also so:

Delphi-Quellcode:
   TBulkTransferThread = Class(TThread)
   private
      { Private-Deklarationen }
     devHandle : PDXUSB_DEVICE;
      Data: Pointer;
      NumberOfBytes: ULONG;
      Status: Pointer;
   protected
      Procedure Execute; override;
      Procedure BulkWrite; virtual; abstract;
   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)
   protected
      Procedure Execute; override;
      Procedure BulkWrite; override;
   End;
  Mit Zitat antworten Zitat