Thema: OOP - Frage

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: OOP - Frage

  Alt 20. Aug 2007, 12:11
Damit der richtige Konstruktor aufgerufen wird, muss dieser virtuell sein.
Zusätzlich braucht man aber auch einen Klassenreferenztyp (class of).
Delphi-Quellcode:
unit ServiceStarter;

type
   TServiceClass = class of TServiceInterface;

constructor TServiceStarter.Create(service: TServiceClass; var obj: TServiceInterface)
begin
while ... do
// für jeden Thread eine Instanz
   begin
    service := service.Create;
   end;
end;

srvStarter: TServiceStarter;
service1: TService1; // TService1 ist von TServiceInterface abgeleitet!!
//...
srvStarter := TServiceStarter.Create(TService1, service1);
Andreas
  Mit Zitat antworten Zitat