如何在应用程序中各个form间共享接口?代理接口。(20分)

  • 主题发起人 主题发起人 飞扬人生
  • 开始时间 开始时间

飞扬人生

Unregistered / Unconfirmed
GUEST, unregistred user!
在三层次分布式应用中,远程调用是十分耗体的。因此,本人想在客户端已启动就创建好
远程接口的的代理,并保存连接共享在upublic单元,以便其它窗体调用
,但是奇怪的是其他数据类型都可以,就是接口变量不可以共享,不知道是怎么回事
我的程序是:
client:
upublic.pas
var
login:Iclogin;
main.pas
procedure TFormMain.FormCreate(Sender: TObject);
var
user:string;
begin
machname:='xyg';
login:=coclogin.CreateRemote(machname);
end;

procedure TFormMain.N20Click(Sender: TObject);
begin
form1:=Tform1.Create(self);
form1.showmodal;
form1.free;
end;

uform1.pas
uses
upublic;
procedure Tform1.SpeedButton1Click(Sender: TObject);
begin
login.Login(vuser);
user:=vuser;
showmessage(user);
end;

server:
Tclogin = class(TMtsAutoObject, Iclogin)
{---------}
procedure Tclogin.Login(var role: OleVariant);
begin
if issecurityenabled then
begin
if iscallerinrole('manager') then
role:='manager';
if ObjectContext.iscallerinrole('user') then
role:='user';
end;
setcomplete;
end;

次程序编译可以通过但是远行时提示:
如何解决?
 
提示什么啊
 
每人能回答?
我测得的结果mts object 执行中一直
getobjectcontext=nil
想知道如何启动他
 
http://www.delphibbs.com/delphibbs/rules.asp
 
后退
顶部