![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование ADO в DLL [D1, D2, D3, D4, D5, D6, D7, Win2k, WinXP]
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 - вот что мне важно, подскажите способ, далее сам разберусь :) Заранее спасибо