Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Технологии
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.01.2011, 20:49
com+ com+ вне форума
Прохожий
 
Регистрация: 26.11.2010
Сообщения: 7
Репутация: 10
Печаль Работа с _Recordset (COM+)

Доброго времени суток!
Помогите разобраться с такой проблемой.
Есть COM сервер,
Код:
IMyServer = interface(IAppServer)
    ['{1B3F3AA3-1DCE-40B1-BA13-9A95EEA439AB}']
    function  GetBlock(ATypeStort: Smallint): OleVariant; stdcall;
  end;
Реализация функции
Код:
  TMyServer = class(TMtsDataModule, IMyServers)
    ...
    function GetBlock(ATypeStort: Smallint): OleVariant;
  End;

uses ADOInt;
  ...

function TMyServer.GetBlock(ATypeStort: Smallint): OleVariant;
begin
  ...
  Result := CoRecordset.Create;
  ...
end;
На клиенте вызывается так:
Код:
...
  Var 
    rec: _ Recordset;
    MyServer:IMyServer; 
...
  rec := IDispatch( MyServer.GetBlock( 1 ) ) as _Recordset // Выдает ошибку
Знаю что OleVariant не годится для возврата _Recordset, перепробовал разные варианты.
При вызове из клиента вылетает access violation. Помогите вернуть клиенту _Recordset.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:45.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025