李维ADO/MTS/COM+书中使用TDCOMConnection建立MTS/COM+对象,需要改ComObj.pas单元,在Win2000的COM+环境中还需

  • 主题发起人 主题发起人 zxtko
  • 开始时间 开始时间
Z

zxtko

Unregistered / Unconfirmed
GUEST, unregistred user!
李维ADO/MTS/COM+书中使用TDCOMConnection建立MTS/COM+对象,需要改ComObj.pas单元,在Win2000的COM+环境中还需要吗?(100分)<br />李维ADO/MTS/COM+书中使用TDCOMConnection建立MTS/COM+对象,需要改ComObj.pas单元,在Win2000的COM+环境中还需要吗?
迫切需要知道答案。为什么我的TDCOMConnection总是建立不了,远程数据模块对象?
 
1.文件还是要改的.
2.你是说连接建立不了,问题有多种呢,有什么提示没有.
 
1.当然要改,不然就如李维所说,失去了MTS的意义。
 
当然要改?我可是说 Delphi6.0和Win2000的COM+环境!
下面这段程序是可以成功的!在没有修改ComObj.pas文件的情况下!
说明DcomConnection可以成功创建一个远程数据模块COM+对象,而且可以调用接口方法。
但是如果调用DataSetProvider的updates方法则部成功,是不是DataSetProvider有什么要设置的?
procedure TObjQuery.GetRecord(var vDatas: OleVariant);
var
ServerObj: IAppserver;
iRecOut: integer;
Options: TGetRecordOptions;
Params, OwnerData: OleVariant;
begin
try
try//FmyDM为数据模块
//FmyDM.ClientDataSet1.Active := True;
//也可以,成功
//vDatas := FmyDM.ClientDataSet1.Data ;//也可以,成功
ServerObj := FmyDM.DCOMConnection1.GetServer ;
Options := [grMetaData, grReset];
vDatas := ServerObj.AS_GetRecords('DataSetProvider1', -1, iRecOut, Byte(Options), '', Params, OwnerData);
SetComplete;
except
SetAbort;
end;
finally
FmyDM.ClientDataSet1.Active := False;
end;
end;
 
没有必要进行修改,修改了反而有问题。
我只是用DataSetProvider的updates方法时,字段nvarchar 20,当没有20个字符时会补空格???
所有改用使用DATASETPROVIDER 的datarequest事件进行更新,挺好
我用的是SQL 2000!而且把ClientDataset 也放MTS OBJECT中,客户端没有ClientDataset!只是传递参数
到MTS的ClientDataset。
 
To DELPHIM
兄弟,不会吧?客户端没有ClientDataSet?传递参数?那你在客户端就不能用Delphi的数据
感知控件了!
照李维的方法,传递ClientDataSet的Data和Delta。
但是我试着做,好像不行啊。DataSetProvider.pas我修改过。
 
后退
顶部