D2007アプリケーションでは、THTTPRIOオブジェクトでアクセスされるWebサービスを使用しています。 THTTPRIOオブジェクトを含むTDatamoduleが破棄されると、アクセス違反が発生します。OpToSoapDomComv.TRefCache.FNodesには存在しないXMLNodesへの参照が含まれています
TSoapDOMConvertが解放されたときに、このAVは順番に実行され、発生します
destructor TRefCache.Destroy;
begin
FHREFs.Free;
FMHREFs.Free;
FNodes := nil; //Causes AV
end;
FNodesを呼び出す
TRefCache(RefMap[0].Instance).Free
はIXMLNodesへの一つの基準を含むTInterfaceListですが、オブジェクトが持っているようですこれの前に解放された。
誰でもこの問題を知っていますか?どのようにそれを解決するには? RIOオブジェクト THTTPRIOオブジェクトの使用に関する
[編集]詳細情報は、Webサービスへの次の呼び出しでのみ使用されます。
LIResult.Assign((Rio as IWSLicenseIntf).CheckLicense(FLicenseInfo));
LIResultオブジェクトは、後に解放されます。
"THTTPRIO.Create(nil)"と "FreeAndNil(RIO)"を使ってTHTTPRIOコンポーネントを手動で作成して解放しようとしましたが、それでも同じAVを取得します。私はここで最初の投稿を編集して、RIOオブジェクトの使い方をより詳しく表示しました。 – Bascy
@Micke - コメントを投稿するにはちょっとコメントしてください。 – Bascy
@Bascy編集の回答 –