A
Along007
Unregistered / Unconfirmed
GUEST, unregistred user!
源程序是这们的:
procedure TDynamicSQLDemoServer.GetAllTables(var vTables : OleVariant);
var
tblist:Tstinglist;
icount:integer;
begin
try
tblist:=Tstinglist.create;
adoconnection.gettablenames(tblist);
vTables:=VarArrayCreate(0,tblist.count-1],varVariant);
for icount:=0 to tblist.count-1do
begin
vTables[icount]:=tblist.String[icount];
end;
finally
tblist.free;
end;
end;
我用BCB5中这样写道:
STDMETHODIMP TAlongTestBCBImpl::GetAllTables(TVariant* vTables)
{
TStringList *tablelist=new TStringList();
int icount;
try{
AlongTestBCB->ADOConnection1->GetTableNames(tablelist,false);
int bounds[2]={0,tablelist->Count-1};
vTables=VarArrayCreate(bounds,1,varVariant);
for(icount=0;icount<tablelist->Count;icount++)
{ vTables[icount]=tablelist->Strings[icount];
}
}
__finally
{ tablelist->Free();
}
}
这样写对吗?
可是我在编写客户程序时去不能用
Socketconnection1->Appserver.GetAllTables(tblist);
编译时出错!
但是用DELPHI就没有问题,程序可以通过。
请问是不 是BCB5不可以这样做,
同时我用DELPHI调用BCB写的服务程序时出现什么:
“单一线程模式下试图在一个以上线程上进行呼叫!”
(但是用DELPHI调用DELPHI写的服务程序就没有问题呀!!!!!)
问题就在这里,,,,,
请大家多指教!
(李维《分布系统---应用篇》在2-26的DEMO例子)
procedure TDynamicSQLDemoServer.GetAllTables(var vTables : OleVariant);
var
tblist:Tstinglist;
icount:integer;
begin
try
tblist:=Tstinglist.create;
adoconnection.gettablenames(tblist);
vTables:=VarArrayCreate(0,tblist.count-1],varVariant);
for icount:=0 to tblist.count-1do
begin
vTables[icount]:=tblist.String[icount];
end;
finally
tblist.free;
end;
end;
我用BCB5中这样写道:
STDMETHODIMP TAlongTestBCBImpl::GetAllTables(TVariant* vTables)
{
TStringList *tablelist=new TStringList();
int icount;
try{
AlongTestBCB->ADOConnection1->GetTableNames(tablelist,false);
int bounds[2]={0,tablelist->Count-1};
vTables=VarArrayCreate(bounds,1,varVariant);
for(icount=0;icount<tablelist->Count;icount++)
{ vTables[icount]=tablelist->Strings[icount];
}
}
__finally
{ tablelist->Free();
}
}
这样写对吗?
可是我在编写客户程序时去不能用
Socketconnection1->Appserver.GetAllTables(tblist);
编译时出错!
但是用DELPHI就没有问题,程序可以通过。
请问是不 是BCB5不可以这样做,
同时我用DELPHI调用BCB写的服务程序时出现什么:
“单一线程模式下试图在一个以上线程上进行呼叫!”
(但是用DELPHI调用DELPHI写的服务程序就没有问题呀!!!!!)
问题就在这里,,,,,
请大家多指教!
(李维《分布系统---应用篇》在2-26的DEMO例子)