Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.05;
Скачать: CL | DM;

Вниз

Использование ADO в DLL   Найти похожие ветки 

 
IntruderLab   (2006-01-31 02:20) [0]

Доброго дня.
Ситуация такова, имеется функция, непосредственно работающая с базой данныз, БД 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;

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


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

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


 
Digitman ©   (2006-01-31 09:23) [2]


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


> OleAuto cannot be used in a package DLL

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

> To implement an OLE automation server in a package

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


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


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


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

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


 
Digitman ©   (2006-01-31 09:52) [4]


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


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


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


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


 
sniknik ©   (2006-01-31 11:01) [5]

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


 
Rem ©   (2006-01-31 13:02) [6]

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


 
Digitman ©   (2006-01-31 13:13) [7]

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


 
IntruderLab   (2006-01-31 13:31) [8]

Это уже не для этой конференции разговор-то, ну все равно закончим. Задам вопрос попроще, как мне в dll хранить объекты ADO: ADOConnection, ADOTable а так же формы с компонентами VCL или это не возможно?


 
Digitman ©   (2006-01-31 13:33) [9]


> IntruderLab   (31.01.06 13:31) [8]


> как мне в dll хранить объекты


Обычным образом.


 
IntruderLab   (2006-01-31 13:34) [10]

Для особо разговорчивых приведу фразу из моей психологической практики, когда клиент, у которого выявилась боязнь углов (бывает и очень часто) пытался мне объяснить почему он боиться острых предметов и выражение: можно на него очень сильно УПАДЕТСЯ.... вот так и я - силь УПАДДЕЛСЯ на это ADO


 
IntruderLab   (2006-01-31 13:35) [11]

не могу именно ADO запихнуь ругается


 
Digitman ©   (2006-01-31 13:42) [12]

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


 
sniknik ©   (2006-01-31 13:45) [13]

> Digitman ©   (31.01.06 13:42) [12]
ты бы это, полегче... хотя я тебя понимаю... ;)


 
sniknik ©   (2006-01-31 13:51) [14]

http://delphimaster.net/view/2-1138306299/
вот к примеру "аналог". "помогал" (в кавычках потому что толку нет, смысл слова потерялся), честно старался... но плюнул в конце концов.


 
Digitman ©   (2006-01-31 13:54) [15]

Я как собака - все понимаю а сказать не могу.


 
IntruderLab   (2006-01-31 13:54) [16]

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


 
Digitman ©   (2006-01-31 13:56) [17]

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


 
sniknik ©   (2006-01-31 13:59) [18]

http://delphimaster.net/view/2-1138306299/
или еще. этот вообще ставит себе целью получить "умный" ответ на "идиотский" вотрос.

может это такой же? тогда он просто из принципа не может этого сделать... (ошибку привести).


 
IntruderLab   (2006-01-31 14:06) [19]

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


 
Digitman ©   (2006-01-31 14:26) [20]

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


 
IntruderLab   (2006-01-31 14:35) [21]

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


 
Digitman ©   (2006-01-31 14:49) [22]

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


 
Rouse_ ©   (2006-01-31 14:50) [23]

Будете продолжать в этом же духе - ветка пойдет в корзину...


 
Digitman ©   (2006-01-31 14:52) [24]


> Rouse_ ©   (31.01.06 14:50) [23]


И тем самым ты, Саша, "поможешь" автору.


 
Rouse_ ©   (2006-01-31 14:54) [25]

Сергей, ну просто опять эти эмоции...
Ну ни к чему они. Я же много раз просил :(


 
Digitman ©   (2006-01-31 14:55) [26]


> Rouse_ ©   (31.01.06 14:54) [25]


Молчу.



Страницы: 1 вся ветка

Текущий архив: 2006.03.05;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.053 c
15-1139569348
Kerk
2006-02-10 14:02
2006.03.05
Пентагон создает руку Терминатора


15-1139650945
Yanis
2006-02-11 12:42
2006.03.05
Вот это война :)


3-1137151906
Николай_2006
2006-01-13 14:31
2006.03.05
Проблема с хранимыми процедурами в Delphi 2006


6-1132648372
AndreyS
2005-11-22 11:32
2006.03.05
График в ISAPI


1-1138663233
IntruderLab
2006-01-31 02:20
2006.03.05
Использование ADO в DLL