关于CreateOLEObject的问题(100分)

  • 主题发起人 主题发起人 xiongxf
  • 开始时间 开始时间
X

xiongxf

Unregistered / Unconfirmed
GUEST, unregistred user!
在用和com接口的一个dll时,发现在delphi demo中有这样三行:
XXDLL:OleVariant;
XXDLL:=createoleobject('XXCONNECT.Connect');
if XXDLL.SetPort(1) then ...  //SetPort('')是dll中的函数

请教:1、createoleobject('XXCONNECT.Connect') 中‘XXCONNECT.Connect’中不是必须先在哪儿先行定义?在哪里定义呢?
2、我用 function SetPort(PortNum:Integer):Boolean; stdcall; external 'XXCONNECT.dll' ,再使用该函数时,出现‘无法定位程序输入点SetPort于动态链接库XXCONNECT.DLL上’错误,请问是不是这个Dll动态库的问题呢?






 
COM与DLL是两个概念
XXCONNECT.Connect 是说有个XXCONNECT的组件,里面有个Connect对象

而这个组件要先注册,注册过后,它就在注册表里面留下了自己的信息,

比如有什么接口,路径在哪里。

调用的时候,系统会到注册表里面找,而不需要写DLL那样的调用方式
 
谢谢,
我这里的COM,指的是计算机的COM口,不是COM技术,
那组件怎样才能在计算机中注册呢?如果我只有DLL文件,可不可以进行注册呢?
请指点
 
to xiongxf:
呵呵 ,不好意思,原先没有理解 。但是我认为:
createoleobject,其实就是创建COM对象,也就是说,你这个东西就是一个COM对象,
那么你就应该用使用COM的方法来使用这个对象。而不是访问DLL的方法。
你应该用Regsvr32 来注册它

 
接受答案了.
 
后退
顶部