再次高分征答:120分

nationphone 2000-06-10 02:07:00
6-6日所提问题久未人解答,我给它加到120分了现在再新登记一编:
我在用C++BUILDER写多层数据库应用时用到MIDAS与PROVIDER组件,BCB中MIDAS控件的SERVERNAME 客户数据集的PROVIDERNAME 都是在设计时可选择,如何在运行时自动获取这些特性呢,我估计是在自动化对象的信息中,我在注册表中找过可以找到SERVERNAME 与GUID但有这些特性的项目特多,用racmgr32.exe 和 dcomcnfg.exe 查看时就显示很多但C++BUILDER中只显示我写过的SERVER,这里似乎有些特别的信息保存在某个地方不知谁能告知.
同时我要在运行时自动获取的的PROVIDER 的名字,这个可能得用到类型库的查询因为PROVIDER 的名字是作为服务器输出接口的特性存在的,我正准备试试但不知有否更好的办法( 我用的是C++ BUILDER 3,不好意思,因为我找不到D版的C++BUILDER4和5 .)

另外上次给MIDAS运行时赋COMPUTERNAME时老是出错说没有SETCOMPUTERNAMEA这个外部函数的连接错误的问题解决了,的确是BCB3的错误,我从MIDAS派生了一个新组件然后定义了一个和该特性同样功能的MYCOMPUTERNAME特性,重写了DOCONNECT,然后生成自己的组件登记后就可以用了.幸好COMPUTERNAME只在DOCONNECT中使用否则重写的代码就多了.
...全文
118 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
alexela 2000-06-13
  • 打赏
  • 举报
回复
我不明白你所说,自动获取SERVERNAME和PROVIDERNAME这些属性不能用直接赋值来获得吗?ANSISTRING S=T->SERVCERNAME这样的语句不行吗?你指的“有些特别的信息”是什么意思?是服务器或客户端的端口号及IP吗?这些信息是通过连接过程的服务程序获得的(例如WINSOCKET——MIDAS就是基于WINSOCKET编程的,是多种分布式体系(DCOM、OLENTERPRISE、CORBA、JAVA...)编程中的一种),并不是存在机器的某个地方,用racmgr32.exe 和 dcomcnfg.exe 显示当然详细,而C++BUILDER只是程序编辑器,由于没有连接,当然不会知道除了自己写的SERVER之外的任何连接信息了。
不知道我的回答能不能满足你的问题(如有分歧,很抱歉我不能领会你的问题),有事我们可再联系。(不过如果我所说回答了你的问题,还望给点分,让我高兴高兴!!——谢谢)alexela_2000@sina.com
ploto 2000-06-12
  • 打赏
  • 举报
回复
sorry ,midas 没用过。

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧