Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: interface und variable des implementierenden objekts

  Alt 20. Dez 2011, 16:27
Gut, Delphi scheint das Interface die Variable, vor Übergabe an den OUT-Parameter, freizugeben.
Ja, so muss es ja sein, es ist ja schließlich ein out-Parameter, das heißt der Aufruf entspricht einer Neuzuweisung. Also muss das alte Objekt natürlich vorher freigegeben werden.

Was sagt denn ein älteres Delphi zu dem Code?
Delphi 3 sagt:
Code:
create test-interface
TTestIntf.Create 008A3738
call SetVar
SetVar begin
TTestIntf.Create 008A3750
TTestIntf.Destroy 008A3738
SetVar end
set nil
TTestIntf.Destroy 008A3750

create test-interface
TTestIntf.Create 008A3738
call SetOut
TTestIntf.Destroy 008A3738
SetOut begin
TTestIntf.Create 008A3738
SetOut end
set nil
TTestIntf.Destroy 008A3738

create test-interface
TTestIntf.Create 008A3738
call SetVarD
SetVarD begin
TTestIntf.Create 008A3750
TTestIntf.Destroy 008A3738
SetVarD end
set nil
TTestIntf.Destroy 008A3750

create test-interface
TTestIntf.Create 008A3738
call SetOutD
TTestIntf.Destroy 008A3738
SetOutD begin
TTestIntf.Create 008A3738
SetOutD end
set nil
TTestIntf.Destroy 008A3738

create test-interface
TTestIntf.Create 008A3738
call SetOutI
TTestIntf.Destroy 008A3738
SetOutI begin
TTestIntf.Create 008A3738
SetOutI end
set nil
TTestIntf.Destroy 008A3738
Ich würde mal sagen alles ok, oder?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat