Die Referenzzählung erfolgt
IMHO erst dann, wenn die Instanz zu einer Interface-Variablen zugeordnet wird.
Probier es mal so
Delphi-Quellcode:
class function TStartupManagerFactory.Create(): IStartupProcess;
var
StartupProcess : TBaseStartupProcess;
begin
StartupProcess := TBaseStartupProcess.Create();
Result := StartupProcess;
AddStartupCommands(StartupProcess); // Hier mal den Haltepunkt setzen und prüfen
end;
Jup, das hatte ich schon -- siehe den Screenshot
Die Information, dass diese Interface-Zeiger besondere Zeiger sind, wusste ich bisher (leider) noch nicht. Das ändert natürlich die Sachlage etwas
danke an euch alle, vor allem die gesamte Diskussion drum herum!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)