请问一个关于COM的问题。(200分)

  • 主题发起人 主题发起人 www
  • 开始时间 开始时间
W

www

Unregistered / Unconfirmed
GUEST, unregistred user!
一个Out-Process型COM, 实现接口IMyInterface,客户端可以通过这个接口访问Server完成特定的功能,比如打开一个文件读写后然后关上, 但是在这个COM服务器中也要实现这个功能,是不是必须在Server中定义一个全局的IMyInterface 才能操作? 另外我测试的结果,如果先开启服务器端,然后再开Client端,Client端在操作结束后关闭,这时再关服务器就会出现AV错误,不知道为什么,希望精通COM的高手来帮忙。
 
//学习。
 
网络编程,学习!
 
大概要在客户端创建的,随后在释放断口.
 
真锈豆。用DELPHI的新建一个"COM对象",它已经帮你建好了一个接口,不用自己定义。服务器端肯定要实现接口功能客户端才能调用,怎能说但是必须?
 
在客户端进行释放之后,是不是对于服务器端的计数器并没有变为0,从而导致释放内存的错误.值得探究
 
你所说的COM服务器与你所说的Server是两个不同的Com吧?能不能说清楚一点?
 
>>个Out-Process型COM, 实现接口IMyInterface,客户端可以通过这个接口访问Server完成特定的功能,比如打开一个文件读写后然后关上, 但是在这个COM服务器中也要实现这个功能,是不是必须在Server中定义一个全局的IMyInterface 才能操作
若我没理解错你的意思的话:
你所指的客户端与服务器端只是地域的不同而已,并不是真正意义上的客户与服务器异地操作。
同样一个界面,同样一个按钮操作同样一个server,所产生的结果应该是相同的,只是调用的参数由你自己决定而已。没有必要再定义一个接口操作。

>>另外我测试的结果,如果先开启服务器端,然后再开Client端,Client端在操作结束后关闭,这时再关服务器就会出现AV错误
报AV错误最好跟踪下。原因不是很明了,因为delphi的ide存在bug。
调用com的应用程序中加上
uses Activex;

initialization
CoInitialize(nil);

finalization
CoUninitialize;

先挂段在这里,听听其他人的意见。
 
多人接受答案了。
 
后退
顶部