找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4287|回复: 4

ace中,怎么在服务端返回一个指向接口的指针

[复制链接]
发表于 2010-4-20 09:40:16 | 显示全部楼层 |阅读模式
情况是这样的,
interface ResourceDescriptionIterator   //这个显然,是个游标接口,用来按照下面接口的要求返回数据
{
  unsigned long max_left();
  boolean next_n(
  in unsigned long n,
  out ResourceDescriptionSequence descriptions );
  void destroy();
};

interface ResourceQueryService     
{

  ResourceDescriptionIterator get_extent_values(     //在这个函数中,我已经取到了一个sequence,我打算申请一个指针,将得到的seq作为参数带进去,关键问题是返回的这个指针,看下面解释
   in PropertySequence properties,
   in ClassID class_id )
   raises (UnknownResource, QueryError);

};

::DAFQuery::ResourceDescriptionIterator_ptr
DAFQuery_IMPL::get_extent_values(const ::DAFQuery::PropertySequence & properties,const ::DAFQuery::ClassID & class_id)  //这个是服务端的实现文件

也就是说,这个文件,他要返回一个指向接口指针,但是它的域名是被客户端控制了的,但我现在在服务器的实现函数中
我的QQ:345931986,欢迎大家讨论
发表于 2010-4-30 21:42:09 | 显示全部楼层
顶帖没用,大家不回帖的原因往往只有一个,你的问题,大家搞不明白。我就没看明白,你到底碰到啥问题,想达到什么目的。
说清楚前因后果,上下文环境,大家才能帮你解决。
发表于 2010-7-2 23:56:52 | 显示全部楼层
你问的应该是tao中的问题吧
发表于 2010-7-13 23:00:35 | 显示全部楼层
TAO的问题吧,你可以看看BiDirGIOP,这个是为双向调用服务的。不要问我使用方式,我也没使用过。
发表于 2010-7-15 00:13:22 | 显示全部楼层
很简单,你需要的是在
get_extent_value中
建立一个Iterator对象,然后返回他的reference给客户端。
注意虽然这是个transit的对象,你还是要保持它。

BiDirGIOP是用来处理‏服务器客户端共享连接的。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-25 02:34 , Processed in 0.019863 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表