實際上,我使用delphi的後期綁定,我需要知道這是與它合作的正確方法。在Delphi中使用LateBinding的正確方法是什麼?
我主要關心的是如何處理這些對象所使用的內存,我必須釋放內存?如果有人簡單介紹一下如何在這種類型的對象進行處理內存
檢查此示例代碼
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;
將是有益的。
在此先感謝。
梅森是正確的,你不必到零的參考,因爲它會被處理對你而言,但自己做這件事沒有任何問題。您也沒有提及BindCtx或Moniker的引用,但不要擔心它們一旦超出範圍就會被釋放。 – skamradt 2010-10-21 03:03:19
非常感謝梅森。 – Salvador 2010-10-21 12:08:43