![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как передать DLL-процедуре указатель на Owner (TComponent) [D6, WinXP]
vtur © (2006-11-23 13:49:00)Здраствуйте, уважаемые коллеги .
Помогите разобраться в такой проблеме.
Я разработал процедуру выполнения
SQL-скриптов для обновления структуры
Interbase/Firebird-БД с применением
FIPlus-компонент и хочу оформить ее в
виде DLL-модуля, с тем, чтобы она могла
вызываться в случаях необходимости из
любых приложений, в том числе
использующих другие технологии для
доступа к БД.
Объявление процедуры следующее
function ExecuteScripts(psDBName,psUser,psPasswd:PChar;Owner:TComponent):Integer;
Так вот, проблема в том, что при выполнении операции
dd:=TpFIBDatabase.Create(Owner);
(в саммом начале процедуры) возникает
exceptіon нарушения доступа к
памяти и процедура, естественно, не
выполняется.
В чем, собственно, проблема и как ее разрешить?
И шире: какова вообще технология создания
DLL-функций, которые бы могли создавать различные
экранные формы, "привязываясь" к родителькому приложению?
Сергей М. (2006-11-23 16:45:00) [1]
> Owner:TComponent в вызове действительно не нужны
Зато весьма желательно указывать stdcall
vtur (2006-11-23 16:44:00) [2]Спасибо за внимание.
Разобрался с технологией.
Owner:TComponent в вызове действительно не нужны
и все пр. несколько по другому...
clickmaker (2006-11-23 14:25:00) [3]
> dd:=TpFIBDatabase.Create(Owner);
и зачем TpFIBDatabase нужен этот оунер?
Reindeer Moss Eater (2006-11-23 14:14:00) [4]с тем, чтобы она могла вызываться в случаях необходимости из
любых приложений, в том числе использующих другие технологии для
доступа к БД.
Ну вот я - приложение на VB и нет у меня никакого оунера и тем более ТОбджекта. Что мне делать с твоей dll?
Dmitrij_K (2006-11-23 14:02:00) [5]http://forum.vingrad.ru/topic-121685.html