Форум: "Основная";
Текущий архив: 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.45 MB
Время: 0.035 c