新人求帮助:VC6 调用delphi编写的com组件函数 报错

代码:
IElectric *ptr = NULL;
CLSID clsid;
HRESULT hr = CLSIDFromString((LPOLESTR)L"{18F86FFB-158B-42D6-9203-C4197A4E76FE}",&clsid);

hr = CoInitialize(0);
if(!SUCCEEDED(hr))
{
    int nCode = GetLastError();
} 

hr=CoCreateInstance(clsid,NULL,CLSCTX_INPROC_SERVER,
    __uuidof(IElectric),(LPVOID*)&ptr);

if(!SUCCEEDED(hr))
{
    int nCode = GetLastError();
}

VARIANT info;
VariantInit(&info); 
info.vt = VT_ARRAY|VT_VARIANT;

try
{
    VARIANT patInfo;
VariantInit(&patInfo); 
    patInfo = GetPatientInfo(ptr);

    VARIANT resultInfo = GetResultData();
    nRec = ptr->PublishResult(1,&patInfo,&resultInfo,1);

    SafeArrayUnaccessData(resultInfo.parray);

    CString m_strUpPicPath;
    m_strUpPicPath = "C:\\1.JPG";
    BSTR bstrPath = m_strUpPicPath.AllocSysString();
nRec = ptr->SaveImage(1,bstrPath);
    SysFreeString(bstrPath);

    if (nRec == 1)
    {
    }
    SafeArrayDestroy(resultInfo.parray);

    ptr->Release();
}
catch (CException *e1)
{      
}
CoUninitialize();

调试到nRec = ptr->PublishResult(1,&patInfo,&resultInfo,1);时报错。
保存截图:
![图片说明](https://img-ask.csdn.net/upload/201511/03/1446518996_51350.png)

单步继续调试就报错0xc0000005,请大神指点是什么问题?谢谢