Вниз
Скачать: CL | DM;

Пара вопросов о 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.024 c
14-1119356757
Empleado
2005-06-21 16:25
2005.07.18
Art


1-1119709799
webpauk
2005-06-25 18:29
2005.07.18
Конвертация


1-1120124715
PIF
2005-06-30 13:45
2005.07.18
оператор case


3-1118305231
sasa2001
2005-06-09 12:20
2005.07.18
Как лучше организовать обновление изменений в базе?


14-1118777623
Kerk
2005-06-14 23:33
2005.07.18
Кондуктора и не только...




   Наверх