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

Вниз

Можно ли обрашаться из DLL к методам объектов приложения ?   Найти похожие ветки 

 
ANB ©   (2006-01-17 13:59) [0]

Из основного приложения в процедуру в DLL передаю адрес формы и имя компонента (грида), которое мне нужно. Через TForm.Component и функции из модуля TypInfo достаю адрес дейтасета и вызываю его методы. Все это в цикле. После первых обращений - все хорошо, потом все падает с AV. Попытался перехватить исключение - приложение вообще начало закрываться. Путем логирования определил, что AV происходит именно при обращении к методу (Next). Тоже и при доставании значения поля через AsString.
Если процедуру из DLL прикомпилять к основному приложению - то все работает как часы. Дэйтасет из одака - TOraQuery.

Можно ли вообще делать так (через DLL) или лучше таки компилять все вместе ?


 
Игорь Шевченко ©   (2006-01-17 14:08) [1]


> Можно ли вообще делать так (через DLL)


Вообще - можно, в частностях могут возникнуть проблемы, связанные с разным набором VMT в DLL и в приложении. Оно сильно надо так извращаться ? Может, лучше пакеты (bpl) использовать, в этом случае точно можно.


 
ANB ©   (2006-01-17 14:11) [2]


> Игорь Шевченко ©   (17.01.06 14:08) [1]

Надо попробовать через bpl. Но мне их надо динамически цеплять, я только с DLL научился это делать (чуток). Раньше не надо было. Ща пойду у делфинов гляну, как они делают.


 
Игорь Шевченко ©   (2006-01-17 15:17) [3]


> Но мне их надо динамически цеплять


LoadPackage


 
Desdechado ©   (2006-01-17 16:01) [4]

для EXE и DLL исходники классов должны быть АБСОЛЮТНО одинаковые, а не только по названию


 
ANB ©   (2006-01-17 16:35) [5]


> Desdechado ©   (17.01.06 16:01) [4]

Это обеспечим. Тут уже говорили об этом на форуме. Это делфисты ко мне приколупались - вынеси процедуру в отдельную библиотеку и все тут.



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

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

Наверх




Память: 0.47 MB
Время: 0.097 c
2-1137323960
Дева
2006-01-15 14:19
2006.02.05
алгоритм поиска - метод "перемешивание"


15-1137183247
tesseract
2006-01-13 23:14
2006.02.05
Выгорит ли reactos?


1-1136394697
capkoh
2006-01-04 20:11
2006.02.05
Ошибка при обращении со строками


2-1137777779
Galiaf
2006-01-20 20:22
2006.02.05
Исспользование Memo.


1-1135880057
___SED
2005-12-29 21:14
2006.02.05
Можно ли написать на делфи 64-х битную прогу?