en fait j'utilise la liaison tardive en Delphi, et j'ai besoin de savoir quelle est la bonne façon de travailler avec elle.Quelle est la bonne façon de travailler avec LateBinding dans Delphi?
Ma principale préoccupation concerne la façon dont je gère la mémoire utilisée par ces objets, je dois libérer la mémoire?
vérifier ce code exemple
var
chEaten: Integer;
BindCtx: IBindCtx;
Moniker: IMoniker;
MyObject:: IDispatch;
begin
try
OleCheck(CreateBindCtx(0, bindCtx));
OleCheck(MkParseDisplayName(BindCtx, StringToOleStr('oleobject.class'), chEaten, Moniker));
OleCheck(Moniker.BindToObject(BindCtx, nil, IDispatch, MyObject));
MyObject.Metod1();
MyObject.Metod2();
finally
MyObject:=nil,// is this necesary?
end;
end;
serait utile si quelqu'un expliquer brièvement comment est gérée la mémoire dans ce type d'objets.
merci d'avance.
Mason est correct, vous n'avez pas à zéro la référence telle qu'elle sera traitée pour vous, mais il n'y a rien de mal à le faire vous-même. Vous n'avez pas non plus ignoré les références à BindCtx ou Moniker, mais ne vous inquiétez pas, ils devraient être libérés dès qu'ils sont hors de portée. – skamradt
merci beaucoup Mason. – Salvador