"无效的被呼叫方"!这是怎么回事??求救

sapphire99 2003-05-16 03:05:40
我碰到了2个问题:
A.应用服务器端的一个过程:
procedure FilterAss(var vClassNum: OleVariant; var IfResult: OleVariant);safecall;
原先在参数vClassNum之前没加var,就报错:“Invalid variant Operation”,然后我把Server_tlb,和interface(IAppServer),连同过程FilterAss本身的参数(共要修改3处吧)vClassNum都改为了var的变量型参数,这就不报错了。但是再下来又有问题了
B.在Delphi中编译运行客户端时出错了,光标指在这一行程序上:
FormMain.SocketConnection.AppServer.FilterAss(stClassNum,haveAss);
报的错误是“无效的被呼叫方”,搞不懂了,急!
请大侠们指教

...全文
316 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sapphire99 2003-05-19
  • 打赏
  • 举报
回复
这个问题我知道了,是我自己在tlb设置那里没有搞好,导致客户端无法调用应用服务器的方法,即“无效的呼叫”,应该是这样的吧。我是重新写过了
procedure TAMSN.FilterAss(var vClassNum: OleVariant; var IfResult: OleVariant);
这个方法的tlb设置,就好了。
不能给自己加分,给兄弟们照发工资了!
888888888888 2003-05-18
  • 打赏
  • 举报
回复
关注
sapphire99 2003-05-16
  • 打赏
  • 举报
回复
服务器端的程序:
procedure TAMSN.FilterAss(var vClassNum: OleVariant; var IfResult: OleVariant);
begin
QAssTb.Close;
QAssTb.SQL.Clear;
QAssTb.SQL.Add('Select * From AssignmentTb');
QAssTb.SQL.Add('Where ClassNum =' + '''' + vClassNum + '''');
QAssTb.Open;
end;
// *********************************************************************//
IAMSN = interface(IAppServer)
['{386C5F71-3BAE-4C66-BC2C-677462A3A4DA}']
procedure AddUser(Host: OleVariant; IP: OleVariant); safecall;
procedure DelUser(Host: OleVariant; IP: OleVariant); safecall;
procedure FilterAss(var vClassNum: OleVariant; var IfResult: OleVariant); safecall;
end;
===================================

客户端:
var
FormStu: TFormStu;
haveAss, stClassNum: variant;
-------------------------------------------
procedure TFormStu.FormShow(Sender: TObject);
begin
haveAss := false;
stClassNum := ClassNum; //showmessage(stClassNum);
FormMain.SocketConnection.AppServer.FilterAss(stClassNum,haveAss);
end;
===========================================
AddUser()和DelUser()都没有问题,在FormShow()中,我加了showmessage(stClassNum);显示的也是我所要的数据,是string类型。不知在哪个地方疏漏了什么
yzykjh 2003-05-16
  • 打赏
  • 举报
回复
代码贴出来看看。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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