/////服务端
procedure TCOMserver.GetAllTables(var vTables: OleVariant);
var
tbList: TStringList;
iCount: Integer;
begin
tbList := TStringList.Create;
try
conn.GetTableNames(tbList);
vTables := VarArrayCreate([0, tbList.Count - 1], varVariant);
for iCount := 0 to tbList.Count - 1do
vTables[iCount] := tbList[iCount];
finally
tbList.Free;
end;
end;
//客户段
procedure Tfrm_clent.btn_gettableClick(Sender: TObject);
var
vtbList: Variant;
iCount: Integer;
begin
DCOMConnection1.Connected := True;
DCOMConnection1.AppServer.GetAllTables(vtbList);
if VarIsArray(vtbList) then
begin
for iCount := VarArrayLowBound(vtbList, 1) to VarArrayHighBound(vtbList, 1)do
lbtables.Items.Add(vtbList[iCount]);
end
end;