Всем сапибо! Тема закрыта!!!
Решение нашел сам.
Если кто еще с таким сталкивался, можете использовать текст ниже.
Код:
//функция в COM должна быть объявлена так
HRESULT _stdcall GetBlock([in] byte ATypeStort, [out, retval] VARIANT * Value );
// где Value - будит recordset
Реализация функции
Код:
...
function TMyServer.GetBlock(ATypeStort: Smallint): OleVariant;
begin
...
Result := CreateOleObject('ADODB.Recordset');
// CDataBaseConnectionString - строка соединения
Result.Open('select * from users', CDataBaseConnectionString, adOpenDynamic, adLockReadOnly, adCmdText);
...
end;
...
на клиенте вызывается так
Код:
...
var
rec:_Recordset;
...
rec := IDispatch( Authentication.GetBlock( 1 )) as _Recordset;
...
|