可以这样声明吗?var con :TSocketConnection or TDCOMConnection ; ( 积分: 100 )

  • 主题发起人 主题发起人 mnbsg
  • 开始时间 开始时间
M

mnbsg

Unregistered / Unconfirmed
GUEST, unregistred user!
想达到这样的效果,请问怎样实现?
var con :TSocketConnection or TDCOMConnection ;
{//D6中只能声明一个啊!我想......
var con :TSocketConnection;
var con :TDCOMConnection ;
}
if CheckBox1.Checked then
//选择连接方式
begin
con:= TSocketConnection.Create(self);
con.Host :='server';
end else
begin
con:= TDCOMConnection.Create(self);
con.computername:='server';
end;
con.ServerName:='Svr.Server';
con.ServerGUID :='{XXXX-XX-XX-X-XX}' ;
-------------------------------------
如果这样的话不管那种方式调用的时候,
直接con.AppServer.aaa();就好了!
 
强的!你这样做简直是在藐视OOP嘛!
 
var
con: TDispatchConnection;
if CheckBox1.Checked then
//选择连接方式
begin
con:= TSocketConnection.Create(self);
TSocketConnection(con).Host :='server';
end else
begin
con:= TDCOMConnection.Create(self);
TSocketConnection(con).computername:='server';
end;
con.ServerName:='Svr.Server';
con.ServerGUID :='{XXXX-XX-XX-X-XX}' ;
//con.AppServer.aaa();
 
另外找到一个答案!
作者:wing_er
http://topic.csdn.net/t/20060413/13/4684088.html
{
定义:
TParam=record
ConRMT: TDispatchConnection;

end;

PParam=^TParam;

Var
Param:PParam;

在程序运行时根据配置来判断使用SOCKET或者DCOM 然后动态生成
new(Param);

ConRMT := TSocketConnection.Create(Application);

OR
ConRmt := TDComConnection.Create(Application);
}
//---
牛人总是比菜鸟多啊!
哈哈!个人觉得还是dreamisx的通俗易懂!
谢谢dreamisx!!!
谢谢吕雪松的参与!
发放红利咯!!!!!
 
原来是声明他们的公共父类啊!!!!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
620
import
I
I
回复
0
查看
504
import
I
后退
顶部