Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.047 c
1-1120214242
Тучудище
2005-07-01 14:37
2005.07.18
Перекодирование из GSM(7 битной кодировки) в ASCII например


3-1117727409
Ega23
2005-06-02 19:50
2005.07.18
Так всё-таки: как DB-шные компоненты работают с TDataSet?


6-1113243378
peppo
2005-04-11 22:16
2005.07.18
Соединение через прокси


3-1117710731
andrex
2005-06-02 15:12
2005.07.18
Отмена изменений


14-1119730079
Unleashed
2005-06-26 00:07
2005.07.18
Где бы найти работу.....