Форум: "Основная";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
ВнизПара вопросов о DLL Найти похожие ветки
← →
NewWonder © (2005-06-24 00:37) [0]Dll, написанную на Дельфи можно использовать и на C++? И ещё вопросик: можно ли в Dll запихать класс?
← →
P.N.P. © (2005-06-24 00:51) [1]>NewWonder © (24.06.05 00:37)
>можно использовать и на C++?
Можно.
>в Dll запихать класс
Что значит "запихать"?
← →
Eraser © (2005-06-24 01:47) [2]NewWonder © (24.06.05 00:37)
можно ли в Dll запихать класс?
Можно, но в экспортируемых ф-ях лучще классы не предавать.
← →
Германн © (2005-06-24 02:23) [3]2 NewWonder © (24.06.05 00:37)
imho, "Dll, написанную на Дельфи можно использовать" всегда, но с учетом "соглашения о вызовах".
По поводу классов - Классы есть разные. Какие вас интересуют? И как вы хотите их использовать?
А уж "запихать" - "Как только, так сразу"! Ты только скажи кому и как!
← →
novice_man © (2005-06-24 08:28) [4]NewWonder © (24.06.05 0:37)
... можно ли в Dll запихать класс?
Интерфейсы ???
← →
Kerk © (2005-06-24 08:52) [5]Германн © (24.06.05 2:23) [3]
А уж "запихать" - "Как только, так сразу"! Ты только скажи кому и как!
"..Бывает, что и по морде, но обычно впендюриваю."
:))))
← →
evvcom © (2005-06-24 08:54) [6]
> можно использовать и на C++?
использовать-то можно, вот только сложность использования будет сильно зависеть от того, как ты напишешь эту dll.
← →
-=XP=- © (2005-06-24 10:14) [7]Dll, написанную на Дельфи можно использовать и на C++?
Можно, но при соблюдении нескольких условий:
- лучше не (хотя, скорее всего, просто НЕ) использовать строки Delphi, а если и использовать, то тщательно изучить и реализовать логику работы ShareMem; лучше - использовать тип PChar (PWideChar и иже с ними).
- луше не (тоже, скорее всего, просто НЕ) использовать классы Delphi, так как RTTI информация в разных модулях (EXE и DLL) - разная; в случае, если имеется хоть какое-то различие между VMT, будете обеспечены Access Violation на всю оставшуюся жизнь (программы).
- вместо этого лучше использовать, как уже было сказано, интерфейсы - они как раз для этого и предназначены - обеспечивать "прозрачное" взаимодействие.
- если используется VCL, а именно, модуль Forms, то необходимо как-то (как - Вам решать) "затыкать" каждый "внутренний" (для каждой DLL) экземпляр класса Application, иначе будут некторые, впрочем, весьма "безболезненные" последствия; ничего "страшного" в этом нет, но, с точки зрения оптимальности, как-то глупо для каждой DLL иметь Application (со своим скрытым окном - впрочем, их можно "совместить"), да еще и Screen, и еще много прочих вспомогательных объектов;
Прочих ограничений и "подводных камней", вроде бы нет.
← →
NewWonder © (2005-06-24 18:23) [8]Огромное спасибо за Ваши ответы!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.035 c