Показать сообщение отдельно
  #2  
Старый 05.01.2011, 16:29
com+ com+ вне форума
Прохожий
 
Регистрация: 26.11.2010
Сообщения: 7
Репутация: 10
По умолчанию

Всем сапибо! Тема закрыта!!!

Решение нашел сам.
Если кто еще с таким сталкивался, можете использовать текст ниже.
Код:
//функция в 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;
...
Ответить с цитированием