Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

как вернуть _Recordset из DLL ?   Найти похожие ветки 

 
Adis Tadas   (2004-12-06 09:32) [0]

Здравствуйте, уважаемые специалисты!
В DLL передаю var _Recordset, хочу заполнить его в DLL и вернуть обратно. У меня не получается следующий код:

1) вызывающая программа:

   uses
     ShareMem, ADOInt, .. ;
   ..
   function EditRecordSet (var rs: _Recordset):  boolean;
     Stdcall; External "mydll.dll" ;
   ..
   var
     r: _Recordset ;
   
     r := nil ;

     EditRecordSet (r) ;
     ..
     Finalize ;

2) DLL:
   uses
     ShareMem, .. ;
   ..
   function EditRecordSet (var rs: _Recordset):  boolean;
   ..
   DM.ado_qrCommon.SQL := " select * from XX "
   DM.ado_qrCommon.Open ;             // здесь все нормально
   ..
   rs := DM.ado_qrCommon.Recordset ;  // здесь ошибка
   ..

Скажите, что здесь не так (насколько я понимаю, нужно создать rs перед присвоением ему DM.ado_qrCommon.Recordset) ?
Заранее спасибо!


 
Digitman ©   (2004-12-06 09:53) [1]

function EditRecordSet: _Recordset; External "mydll.dll";

  ..
  var
    r: _Recordset ;
  ..
    r := EditRecordSet;
   //здесь работаем с полученным интерфейсом
    r := nil; //явно освобождаем интерфейсный объект, если r не локальная переменная текущей процедуры

  function EditRecordSet:  _Recordset;
  begin
   DM.ado_qrCommon.SQL := " select * from XX "
   DM.ado_qrCommon.Open ;            
   Result := DM.ado_qrCommon.Recordset ;    
  end;


> здесь ошибка


какая ?


 
novice_man ©   (2004-12-06 09:57) [2]

type
pRecordSet: ^_RecordSet;

var:
r: pRecordSet;

Может так получится.



Страницы: 1 вся ветка

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
1-1102005229
Unknown user
2004-12-02 19:33
2004.12.19
Соответствие классов


14-1101538365
Knight
2004-11-27 09:52
2004.12.19
Почему винда читает компакты хуже доса?


3-1100848214
Barmutik
2004-11-19 10:10
2004.12.19
Проблема со скоростью запроса


9-1092904623
mr_black
2004-08-19 12:37
2004.12.19
Кратчайший путь от т.А к т.Б


1-1101908075
gek1
2004-12-01 16:34
2004.12.19
ListBox. Скроллинг по горизонтали