DCOMConnection.AppServer

rill518 2003-05-09 08:52:14
為何 DCOMConnection.AppServer 不能使用呢?它不能獲得遠程數據模塊的接,更不能調用遠程數據模塊的方法。
它是動態聯編的,如果要想靜態聯編呢?怎麼辦??
...全文
27 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
riffleliu 2003-06-11
chechy(简简单单的活) 說得對,如果你不能解決問題,可以先到書讓看看李唯的那本分布式開發的。可能對你有用。
回复
chechy 2003-05-14
我说得第二个问题就是导致你错误得原因。
2)DCOMConnection.Connected如果是True,DCOMConnection.AppServer.方法名不行,那么可能是这个Ole Automation Server不支持这个方法名,需要查看相关的帮助
回复
rill518 2003-05-13
procedure TForm1.FormCreate(Sender: TObject);
var
I:Integer;
DBNames:OleVariant;
begin
DCOMConnection1.Connected :=true;
DBNames:= DCOMConnection1.AppServer.GetDatabaseNames;
if VarIsArray(DBNames) then
for I:=0 to VarArrayHighBound(DBNames,1) do
DatabaseName.Items.Add(DBNames[i]);
DatabaseNameClick(Self);
end;

執行到“DBNames:= DCOMConnection1.AppServer.GetDatabaseNames;”這句就會出錯!
ProjectProject1.exe raised exception class EOleError with message 'Method 'GetDatabaseNames' not supported by automation object'.Process stopped.Use Step or Run to continue.
回复
888888888888 2003-05-11
关注
回复
chechy 2003-05-11
1)DCOMConnection.Connected如果不是True,那么DCOMConnection.AppServer.方法名肯定不行。因为此时DCOMConnection.AppServer啥都不是。
2)DCOMConnection.Connected如果是True,DCOMConnection.AppServer.方法名不行,那么可能是这个Ole Automation Server不支持这个方法名,需要查看相关的帮助
回复
rill518 2003-05-11
兄弟们,给点信心好不好啊!!
回复
longlonger 2003-05-10
好像看看LiWei的书就可以了
回复
microjuz 2003-05-10
蛇眼兄写的真是高深,~~学习学习
回复
rill518 2003-05-09
我就是想調用中間層數據模塊的方法,應該是用DCOMConnection.AppServer.方法名就可以了,但實際用的時候卻不能用,何解!!!!
回复
WangPeter 2003-05-09
“DCOMConnection.AppServer 不能使用”
怎么不能用?请详细描述。
回复
snake_eye 2003-05-09
procedure TForm1.Button2Click(Sender: TObject);
var
vDatas : OleVariant;
ownerdata:olevariant;
BeginTime:Integer;
EndTime:Integer;
begin
BeginTime:=GetTickCount;
ownerdata := vararrayof([Clientdataset1.CommandText]);
vdatas := bObj.ApplyData(clientDataSet1.delta ,ownerdata);//CoM+方法!
EndTime:=GetTickCount;
Self.Caption:=FloatToStr((EndTime-BeginTime)/1000.0)+'秒';
end;
回复
snake_eye 2003-05-09

private
{ Private declarations }
bObj : IDBPool;

..
bObj := CoDBPool.Create;
回复
snake_eye 2003-05-09
怎么不能使用,不用也可以自己创建COM+对象一样!
回复
chechy 2003-05-09
首先要DCOMConnection.Connected := True才行。
回复
dolphin2001 2003-05-09
第一:
首先确认你的DComConnection相关连接属性(ServerName,ServerGuid)有没有设置正确,如果服务器和你的程序不在同一台机器上,你还需要在服务器端做相应的配置才行,至于如何配置,你可以查看一下以前的帖子;
第二:
你确认一下你的服务器是否存在你调用的方法,因为你是采用Variant的方式调用远程的方法,DELPHI在编译的时候它不会去检查你的方法是否存在,再者,就是你送的参数对不对。
回复
相关推荐
发帖
网络通信/分布式开发
创建于2007-08-02

1573

社区成员

Delphi 网络通信/分布式开发
申请成为版主
帖子事件
创建了帖子
2003-05-09 08:52
社区公告
暂无公告