Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Вниз

как вернуть _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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.033 c
14-1101407893
Ломборозо
2004-11-25 21:38
2004.12.19
Новости в RSS или TXT


4-1099653795
Shiza
2004-11-05 14:23
2004.12.19
Работа со звуком.


1-1101908432
NovaPS
2004-12-01 16:40
2004.12.19
Delphi DLL и Excel


8-1095948856
Гость
2004-09-23 18:14
2004.12.19
GDI+ Проблема кодировок.


14-1101795877
Ditrix
2004-11-30 09:24
2004.12.19
[hymor] если бы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский