Der Referenzzähler wird dann eben erst am Ende der Methode dekrementiert, aber das stört doch auch nicht, oder?
Das hat aber gebracht dass das Programm nicht abstürtzt.
Bei welchem Betriebssystem denn?
Und funktioniert die beiliegende kompilierte Demo vielleicht auch nicht?
-Win7 64bit.
-Die kompilierte Demo benutzt LInitializeWithFile, ich benutze LInitializeWithStream.
Mea culpa, dass hätte ich sagen müssen, ich habe die Streamroutine als erste geswapt...
Delphi-Quellcode:
if FPreviewHandler.QueryInterface(IInitializeWithStream, LInitializeWithStream) = S_OK then
begin
FFileStream := TFileStream.Create(FFileName, fmOpenRead or fmShareDenyNone);
LIStream := TStreamAdapter.Create(FFileStream, soOwned) as IStream;
LInitializeWithStream.Initialize(LIStream, STGM_READ);
LIStream := nil;
end
else
if FPreviewHandler.QueryInterface(IInitializeWithFile, LInitializeWithFile) = S_OK then
LInitializeWithFile.Initialize(StringToOleStr(FFileName), STGM_READ)
else