请教关于DELPHI 5.0 Midas 编程的问题

lxpq 2000-02-29 10:43:00
在MIDAS编程过程中,我遇到一些问题,特此想向您请教一下,

在delphi 的 DEMO 中都是有关最简单的 data remote module 的例子,
我是将三层结构开发用于,数据库应用的。
我在具体工作中是想将我以前封装的对象移植到 application server
上,我认为有三种方法,不知道是否正确:

1.增加 interface 的 property 和 method
使我的对象的 property 和 method 都相应的在interface 得到实现。

2.将我的对象成为 interface 的一个 property,
我就可以在Client端调用,实现对象的功能。

3.将对象封装在Automation Object 中进行调用

遇到的问题:

使用1的方法的时候,由于我的对象非常庞大,而且有很多对象,移植起来
难度较大。
使用2的方法的时候,不知道如何创建该对象,创建的时候,系统总是报错
不知道该property 应该定义成为何种类型。
使用3 的方法的时候,不知道如何与client进行交互,该对象是如何创建并
调用的。

下面我有一个简单的对象模型,该怎样进行移植呢?
TSysOper=Class(Tobject)
public
Pwd_cd: string[8];
oper_cd:string[4];
oper_nm:string[25];
QuerySysOper:TQuery;{不知道这个Query 如何与Remote Data Moudle中的Query相连呢?
如果不连又如何创建呢?}
Sucess_flg:boolean;
Bld_str:String;
constructor Create(OperatorCode:string); virtual;
destructor destroy; virtual;
end;

由于对多层结构系统不熟,所以提的问题可能从您的角度看来比较肤浅,请见凉
如能指教,不胜感激。
...全文
140 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
LittleStar 2000-02-29
  • 打赏
  • 举报
回复
N层结构返回过程或函数不难!可参照“32bit深度历险”中的MtsDemo。如果返回的是数据集可用Delphi的Iprovider做为返回的结口对它的操作类似TQuery.但客户端要用到delphi的dbclient.dll它好像是要“许可协议的” :)我找到一个办法。M$的OLE DB
好像也可以如果有谁知道请告知!
function FileToVariant(FileName: String): OleVariant;
var
AStream: TFileStream;
MyBuffer: Pointer;
begin
AStream:=TFileStream.create(FileName,fmOpenRead);
try
aStream.Seek(0, soFromBeginning);
Result:=VarArraycreate([0, AStream.size-1], VarByte);
MyBuffer:=VarArrayLock(Result);
AStream.ReadBuffer(MyBuffer^, AStream.Size);
VarArrayUnlock(Result);
finally
AStream.Free;
end;
end;


procedure VariantToFile(FileName: String; var AVariant: OleVariant);
var
AStream: TFileStream;
MyBuffer: Pointer;
Size: Integer;
begin
AStream:=TFileStream.create(FileName,fmCreate);
try
aStream.Seek(0, soFromBeginning);
Size:=VarArrayHighBound(AVariant,1)+VarArrayLowBound(AVariant,1)+1;
MyBuffer:=VarArrayLock(AVariant);
AStream.WriteBuffer(MyBuffer^, Size);
VarArrayUnlock(AVariant);
finally
AStream.Free;
end;
end;

1,593

社区成员

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

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