我象你那样怎么就是“无效的类字符串”呢,是不是'SQLServerRO.GDatabase'的问题?

解决方案 »

  1.   

    因为那个对象是我使得一个应用程序的对象Geomedia Professional:)
    我其实是在问有没有碰到过这种情况,一般是因为什么原因
      

  2.   

    Delphi中的CreateOleObject的创建是调用一次CoCreateInstance,直接创建成IDispatch接口,有些对象并不支持这样的创建方法,只能用CoCreateInstance创建成IUnknown接口,然后再调用IUnknown::QueryInterface得到IDispatch接口。你这样试试:
    var
     VtObj: OleVariant;
     IObj: IUnknown;
     IDispObj: IDispatch;
    begin
     IObj := CreateComObject(ProgIDToClassID('SQLServerRO.GDatabase');
     IDispObj := IObj as IDispatch;
     VtObj := IDispObj;
     ...
    end;
    即使这样还不行,也便于跟踪判断错误。SQLServerRO.GDatabase是什么东东?
      

  3.   

    上面我也提到了,那是我使得一个GIS开发平台的一个对象,感谢Pulley的指教