想拿分?放马过来!三层系统中的远程过程调用的问题!!

nickw 2002-02-21 10:45:48
我在应用服务器的TYPE LIBRARH的IAPPSERVER接口中定义了一个过程GETWORKYEAR供客户端调用!该过程有一个[IN,OUT] VARIANT*类型的参数,用于向客户端返回数据库查寻结果,开始时客户端运行正常,但后来再运行就报错‘THE APPLICATION HAS IMPEOPERLY DEFINED A PARAMETER OBJECT’。我怀疑是客户端调用过程时使用的参数没有赋值造成的,改程序试了一下错误依然,而且我查李维的书上也是这样写的代码,现在我糊涂了请各位帮忙!
服务端程序实现如下:
procedure TRMD_gzms.getworkyear(var vyear1: OleVariant);
var
icount1,icount2:integer;
begin
cds_workyear.close;//CDS_WORKYEAR为CLIENTDATASET组件连接一TQUERY
cds_workyear.CommandText :='select WORKYEAR from WORKYEAR';
cds_workyear.open;
if not cds_workyear.IsEmpty then
begin
icount2:=cds_workyear.RecordCount-1;
vyear1:=vararraycreate([0,icount2],varvariant);
cds_workyear.First ;
for icount1:=0 to icount2 do
begin
vyear1[icount1]:=cds_workyear.fieldbyname('workyear').value;
cds_workyear.Next ;
end;
end
else
vyear1:=0;

end;

客户端是在一个对话框的CREATE事件中调用该过程,如下:
procedure TDLG_Login.FormCreate(Sender: TObject);
var
varyear: variant;//未赋值!!
icount1,icount2:integer;
begin
dtp_logindate.date:=date;
dtp_logindate.time:=time;
dcomc_workyear.connected:=true;
dcomc_workyear.AppServer.getworkyear(varyear);//运行到此报错!!!!!!!!!
if (varisarray(varyear)) then
begin
icount2:=vararrayhighbound(varyear,1);
for icount1:=vararraylowbound(varyear,1) to icount2 do
begin
cb_year.Items.add(varyear[icount1]);
end;
end
else if (varyear=0) then
showmessage('先建立工资年度');
end;
...全文
41 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
nickw 2002-02-27
  • 打赏
  • 举报
回复
我自己搞定了,不过还是要感谢大家的参与!给分了!
nickw 2002-02-21
  • 打赏
  • 举报
回复
再说一遍VARIANT 和 OLEVARIANT其实是一回事!而且我早就试过了!不行!!!!
nickw 2002-02-21
  • 打赏
  • 举报
回复
怎么大家的回答一点建设性都没有!!!!失望!!!
我期待着那种一语中的的回答!!!谢谢先
zws 2002-02-21
  • 打赏
  • 举报
回复
varyear: OleVariant
bjay 2002-02-21
  • 打赏
  • 举报
回复
在用varyear前进行一下错误检查。

比如:是否赋值、对象可用等等。
不要拿来就用,也不知是否真的可用。
nickw 2002-02-21
  • 打赏
  • 举报
回复
GENPHONE的方法我试过了,NO OK!!!
nickw 2002-02-21
  • 打赏
  • 举报
回复
谁能解答,两个帖子共200分送上!!!
票票飞扬 2002-02-21
  • 打赏
  • 举报
回复
varyear: OleVariant;//未赋值!!
nickw 2002-02-21
  • 打赏
  • 举报
回复
up 一下先!
shinesi 2002-02-21
  • 打赏
  • 举报
回复
upup

5,931

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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