社区
网络通信/分布式开发
帖子详情
请教Raptor(猛禽)同志:如果通过SocketConnect创建COM+组件接口,该COM+组件不是从IAppServer继承而来.
wangxj333
2003-11-27 06:12:10
如题,如果该COM+组件不是继承自IAppserver,则在ServerName下拉看不到,自行指定ServerName和ServerGUID,则报错对象无效.
如何才能正确的通过TSocketConnect来创建COM+对象呢?
...全文
108
18
打赏
收藏
请教Raptor(猛禽)同志:如果通过SocketConnect创建COM+组件接口,该COM+组件不是从IAppServer继承而来.
如题,如果该COM+组件不是继承自IAppserver,则在ServerName下拉看不到,自行指定ServerName和ServerGUID,则报错对象无效. 如何才能正确的通过TSocketConnect来创建COM+对象呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wangxj333
2003-12-15
打赏
举报
回复
接分
wangxj333
2003-12-15
打赏
举报
回复
谢谢各位的热心帮助,接风!
wangxj333
2003-12-15
打赏
举报
回复
to leapmars(流铭), halfdream(哈欠)
我改用Web Service了,但碰到了一个怪问题,快帮我看看:
http://expert.csdn.net/Expert/topic/2553/2553257.xml?temp=.5105249
猛禽
2003-12-01
打赏
举报
回复
老朱你贴的什么啊,离题了吧
wangxj333
2003-12-01
打赏
举报
回复
天啦.
halfdream
2003-12-01
打赏
举报
回复
如果有WEBSERVICE经验,时间风险应该不是问题.
服务端可以使用COM->SOAP的工具,
客户端用DELPHI编写调用代码也只是几分钟的事情.
zhucp
2003-11-30
打赏
举报
回复
function TProxySrv.Get_InitObj: IAppServer;
begin
try
OleCheck(ObjectContext.CreateInstance(CLASS_InitSrv, IInitSrv, Result));
finally
SetComplete;
end;
end;
猛禽
2003-11-29
打赏
举报
回复
哈哈,来迟,楼上几位都答得差不多了嘛。:)
声明一下,偶可不是“同志”^_^
因为Borland提供的SocketConnection/WebConnection都是属于MIDAS的组成部分,都是针对IAppServer设计实现的,因为你的COM+不是基于MIDAS的,没有IAppServer,所以直接用是肯定不行的。
流铭的建议是一个方法:等于是自己写一个TCP Tunnel来代理IDispatch接口。当然,也如你所说,存在风险。
还有一个就是用现成的Tunnel,MS提供的CIS是一个解决方案,相对来说会比自己写的要可靠一些,不过据说安全性不怎么样,比如前一段的冲击波病毒中就有利用到此技术的漏洞。
个人认为还是哈欠兄的提议好些,用WebService/SOAP,当然性能上就要差了,有得必有失嘛。
halfdream
2003-11-29
打赏
举报
回复
拨号上网的机器配置DCOM连接太不合适了,要使用也只应该用轻捷些的通讯协议.
有这样几种方式,
1,还是使用socketConnection,自已在服务器设计一个应用服务器作为调用的代理.
2,自定义SOCKET,编写自己的SOCKET服务器,通过它调用COM组件.
3,相当于第二种的变化,运行WEB服务器,写CGI程序,通过它调用COM组件.客户端调用
使用HTTP
4,使用SOAP工具,做WEBSERVICE,同上面2,3本质相同,但有大量现成工具可以用.
猛禽
2003-11-29
打赏
举报
回复
因为偶一向是用MIDAS滴,所以CIS也只是略知一二,从来不用,也用不着。
既然楼主搞不定,看来用CIS这条路是不通了。
或者你可以出钱去买流铭兄的TCP Tunnel
要不只有用WebService,当然这样时间上就要多一些了
wangxj333
2003-11-29
打赏
举报
回复
to Raptor(猛禽):
"MS提供的CIS是一个解决方案",我就是因为使用了MS的CIS解决方案,但始终不能成功,才想到Socktet,Web连接方式的.
客户一直在等着我的远程解决方案,我用了CIS却一直不能成功.看了各位高手的建议,时间风险过大.实在不行,只有寻求微软技术支持了,支持一次1,000元啊.
看我这个帖子:
http://expert.csdn.net/Expert/topic/2469/2469244.xml?temp=.8422968
如果各位帮我解决了这个难题,我将感激不尽啊.
leapmars
2003-11-29
打赏
举报
回复
另外, 楼主可不要 开口闭口的喊“同志”。我怕怕! ^_^
leapmars
2003-11-29
打赏
举报
回复
呵呵,用 WebService/SOAP 的确是不错滴!
我说的那个方法,已经运用在我做的一个项目中,目前来看还是比较稳定滴。^_^
用 SocketConnection 的风险 主要在于 Scktsrvr.exe 有些问题。
wangxj333
2003-11-28
打赏
举报
回复
哦,to leapmars(流铭)同志:这样改了还能不能用啊,即使能用会不会时不时冒出一些让人难以理解的错误呢?这个风险太大了吧.
我们的产品已经发布,原来都是用DCOM来连接的,但DCOM在Internet上的连接一直不能测试成功,就又想到用TSocketConnect来创建COM+对象,可又出现其它错误.
这个是我配置DCOM Internet的帖子,各位看看吧.
http://expert.csdn.net/Expert/topic/2469/2469244.xml?temp=.7533686
leapmars
2003-11-27
打赏
举报
回复
需要修改的单元包括 SConnect.pas, MConnect.pas,并且要删除对一些相关单元的引用,比如 midas.pas,databkr.pas。主要是把 里面涉及到 IAppServer 的地方要换成 IDispatch。 你自己试试吧。
leapmars
2003-11-27
打赏
举报
回复
完全可以。但需要修改一些源代码。
halfdream
2003-11-27
打赏
举报
回复
TSocketConnection设计只允许对IAPPSERVER的COM远程调用.
halfdream
2003-11-27
打赏
举报
回复
使用TSocketConnection就不是COM+了.
vc++ 应用源码包_1
独立打包,保证可解压,内含大量源码,网上搜集
而来
。 Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、...
蓝牙调试助手
最近一直在搞Android上的蓝牙应用,每次在PC上调试蓝牙设备中的数据还可以,但是在Android手机上就非常不方便,所以自己写了个简单的Android蓝牙...教程:https://blog.csdn.net/mr_
raptor
/article/details/26091049
剑指Offer_编程题47:求1+2+3+...+n
题目:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 牛客网:链接 递归计算。用到了短路特性,但是python没有,所以得另写函数。 # -*- coding:...
计算1+2+3+4+....+100的和
需求:计算1+2+3+4+....+100的和 while循环 for循环
2291: 编程求解2+4+6+...+n
编程求解2+4+6+...+n
网络通信/分布式开发
1,594
社区成员
32,947
社区内容
发帖
与我相关
我的任务
网络通信/分布式开发
Delphi 网络通信/分布式开发
复制链接
扫一扫
分享
社区描述
Delphi 网络通信/分布式开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章