Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.038 c
14-1101474424
dr Tr0jan
2004-11-26 16:07
2004.12.19
Загрузка компьютера по таймеру


3-1100370184
integer
2004-11-13 21:23
2004.12.19
как получить разницу двух таблиц


3-1101059264
DuchmanSoft
2004-11-21 20:47
2004.12.19
Фильтр или выборка в DBGrid


3-1100784986
Игорь Писанко
2004-11-18 16:36
2004.12.19
Открыть .dbf без индекса


14-1101825425
Dada
2004-11-30 17:37
2004.12.19
Ой, я вас умолую, неговорит мне...




   Наверх