Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Использование ADO в DLL [D1, D2, D3, D4, D5, D6, D7, Win2k, WinXP]


Страницы:   1 2

IntruderLab ©   (2006-01-31 02:20:00) 

Доброго дня.
Ситуация такова, имеется функция, непосредственно работающая с базой данныз, БД MSSQLServer. Когда функция находится в Unit самой программы все нормально, как только я переношу функцию в dll начинаются глюки. Функция использует ADOTables и приведена далле. Упомяну, что пытался в uses DLL проекта укащать модуль OleAuto, Ole2, ничего хорошего правда не вышло, тем более в описание модулей OleAuto ясна сказано, что применение в DLL противопоказано :)
Приведу код функции:

**************************
uses
 ShareMem,   Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,   Dialogs,   Menus,
 ComCtrls,   ImgList,   ExtCtrls,   Grids,   DBGrids,   DB,   ADODB,
 comobj,   comserv,OleAuto, Ole2;
**************************
procedure SaveBLOBPicture(var tab : TADOTable; img: TImage; fname: String);
var ms : TMemoryStream;
begin
 ms := TMemoryStream.Create;
 img.Picture.Bitmap.SaveToStream(ms);
 tab.Insert;
 (tab.FieldByName('' + fname + '') As TBlobField).LoadFromStream(ms);
 tab.Post;
 ms.Free;
end;

Подскажите как решить проблему


Rem   (2006-01-31 13:02:00) [21]

При работе с DLL не передавайте указатели на объекты VCL.


sniknik   (2006-01-31 11:01:00) [22]

Удалено модератором


Digitman   (2006-01-31 09:52:00) [23]


> исполняемый фалы выдает ошибку


.. и ее конкретное детальное описание здесь, в твоей ветке, очевидно, составляет важную государственную тайну.


> о фривольности можно  долго рассуждать


.. но факт остается фактом)


IntruderLab   (2006-01-31 09:46:00) [24]

Интересный подход, вобщем то DLL компилиться, а исполняемый фалы выдает ошибку, то есть по сути ADO не работает в DLL. Хочеться знать каким образом в DLL работать с ADO, вот и все. А о фривольности можно  долго рассуждать, особенно учитывая, что по первому образованию я психолог :)))))


Digitman   (2006-01-31 09:23:00) [25]


> в описание модулей OleAuto ясна сказано, что применение
> в DLL противопоказано


> OleAuto cannot be used in a packageDLL

У тебя что, package разве ?!

> To implement an OLE automation server in a package

Ты разве OLE automation server реализуешь в DLL ?!


> переношу функцию в dll начинаются глюки


Вот и рассказывай какие конкретно, вместо того чтобы заниматься фривольным переводом комментариев в борладовских юнитах ...


IntruderLab   (2006-01-31 02:24:00) [26]

Именно, от себя добавлю, что тут дело все в ADO, как в DLL работать с ADO - вот что мне важно, подскажите способ, далее сам разберусь :) Заранее спасибо


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо