Главная страница
    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.46 MB
Время: 0.04 c
14-1119449626
Cosinus
2005-06-22 18:13
2005.07.18
Господа, кто рботал или работает админом... Подскажите по VPN...


3-1118270772
DRON1173
2005-06-09 02:46
2005.07.18
Обработка ошибок при работе с базой.


14-1119515894
dtl
2005-06-23 12:38
2005.07.18
3d координатная сетка,повороты,масштабирование...


1-1119839772
grant
2005-06-27 06:36
2005.07.18
Подскажите, если кто знает. Как писать на Delphi по КПК например


1-1119762048
Mumu
2005-06-26 09:00
2005.07.18
Color





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский