续:Dcom问题 内存锁定????? (200分)

  • 主题发起人 主题发起人 zhengzhijia
  • 开始时间 开始时间
Z

zhengzhijia

Unregistered / Unconfirmed
GUEST, unregistred user!
服务器端有下面一个接口函数
function TAccountServer.CommitData(out Vcode: OleVariant): OleVariant;
var
VouchCode:string;
iresult:integer;
begin
iresult := TempAccount.CreateAccount(VouchCode);
Vcode := VouchCode;
result := iresult;
// result := TempAccount.CreateAccount(vcode);
//如果这么写出错???
end;

描述:
TempAccount是我定义一的一个类的实例;
TempAccount中定义一个函数:
function CreateAccount(var VouchCode:string):integer;
当返回值=0时,用户可以对去变参中的数据(单据号)
客户端调用如下:
ErrorCode := DCOMConnection1.AppServer.CommitData(str) ;
当执行时提示:内存锁定! 如果去掉变参,正常运行。
问题一:当有变参返回时,为何不能
result := TempAccount.CreateAccount(vcode);
//如果这么写出错???
问题二:客户端为何提示
内存锁定! 如果去掉变参,正常运行。
 
问题解决,马上给钱,我觉得我犯了一个低级错误。但是由于刚接触dcom。请大虾帮忙
 
高手都哪去啦!休息。???
 
不会吧。我也想,问题不解决。不能
 
接口声明为VARIANT *没有?
好象楼主不信邪
 
说对啦,
申明啦。你应该从参数终能看出来
 
你是不是把Vcode申明为out了?改为[in,out]试试。因为我看你的CommitData函数中只有输出参数,没有输入参数。
 
不是这个原因
 
如果这个项目放在我面前, 我相信我是可以搞定的.
 
没有见过!
dcom确实有点奇怪。我在remote datamodule的create中给窗体的caption赋植居然死机![:(]
 
后退
顶部