从Delphi调用COM对象方法时出现意外异常?

时间:2011-08-07 15:05:39

标签: delphi visual-c++ exception dll com

我有一个Delphi 6专业程序,它调用属于MSVC 2008 COM DLL的COM对象方法。 DLL的类型库无错误地导入Delphi。我可以无错误地调用其中一个方法,但是大多数其他方法都会导致出现EOleException错误,并显示消息“引发了意外异常”,它对应于EOleException错误代码:0x80040205, EVENT_E_INTERNALEXCEPTION:

http://msdn.microsoft.com/en-us/library/cc704587(v=prot.10).aspx

我在拨打电话前打电话给CoInitialize:

var
    intfMsvcComObj: IMsvcComObject;

begin
    if not Succeeded(CoInitialize(nil)) then
        raise Exception.Create('Coinitialize failed.');

    intfMsvcComObj := CoMsvcComObject.Create;

    try
        // EOleException occurs when I make this call.
        intfMsvcComObj.doSomething;
    finally
        CoUninitialize;
    end;
end;

接下来我尝试转换FPU异常,因为使用Set8087CW($ 133f)调用MSVC DLLS时有时会出现问题,然后我再次尝试使用Set8087CW(Get8087CW或$ 3f),但这些操作都没有帮助。

有关如何修复/诊断此问题的任何想法?

0 个答案:

没有答案