Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Как в Delphi подключить чужой dcu?

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

imonah



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Возможно ли в Delphi 7 подключить чужой dcu к своему проекту и вызывать из него функции?
Заголовки функций и параметры известны.
 
Заранее спасибо

----------
Не относитесь к жизни слишком серьезно, вам все равно не уйти из нее живым :)

Всего записей: 1376 | Зарегистр. 07-02-2003 | Отправлено: 00:37 09-06-2006
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
imonah

Цитата:
Возможно ли в Delphi 7 подключить чужой dcu к своему проекту и вызывать из него функции?  
Заголовки функций и параметры известны.

Легко пишешь след.
uses MyForeignUnit;  
только учти что он должен быть скомпилирован в Дельфи 7, причем в той комплектации, что и у тебя (если другой СП, то скорее всего не покатит).

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:42 09-06-2006
imonah



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Пробовал... он почему-то начинает искать не dcu, а pas-файл...
При компиляции...

----------
Не относитесь к жизни слишком серьезно, вам все равно не уйти из нее живым :)

Всего записей: 1376 | Зарегистр. 07-02-2003 | Отправлено: 02:01 09-06-2006 | Исправлено: imonah, 19:34 09-06-2006
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
imonah
Если ищет pas значит dcu от другой версии Delphi. тогда нужно искать либо исходник либо DCU от соответствующей версии. В твоем случае 7.
Да еще. Нужно указать в опциях проекта где находятся твои DCU (Search Path).

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 12:17 09-06-2006
imonah



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vserd
Да, похоже, что от другой...
Спасибо. Уже ищу. Просто думал, что это как и с dll - пофиг чем скомпилена - юзать можно все равно.

----------
Не относитесь к жизни слишком серьезно, вам все равно не уйти из нее живым :)

Всего записей: 1376 | Зарегистр. 07-02-2003 | Отправлено: 19:33 09-06-2006
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
imonah

Цитата:
Просто думал, что это как и с dll - пофиг чем скомпилена - юзать можно все рав

Борладн давно официально заявил что будет поддерживать не совместимость в DCU. И я их понимаю. Потому что поддерживать совместимость в бинарном формате очень не просто.

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 13:51 10-06-2006
imonah



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vserd
А в чем проблема то? Любой декомпилятор типа Dede или dcu2pas корректно выдергивает заголовок функций. В представлении асма потом проблемы конечно - надо разбираться, но заголовки к которым обращаются то теже....

----------
Не относитесь к жизни слишком серьезно, вам все равно не уйти из нее живым :)

Всего записей: 1376 | Зарегистр. 07-02-2003 | Отправлено: 14:42 10-06-2006
ionflux



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
vserd

Дело не в сложности бинарного формата, а в лицензировании и прочих феньках. подобная хрень за борландом ещё с турбопаскалей тянется.

Всего записей: 38 | Зарегистр. 19-03-2003 | Отправлено: 22:01 18-06-2006
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
imonah

Цитата:
А в чем проблема то? Любой декомпилятор типа Dede или dcu2pas корректно выдергивает заголовок функций. В представлении асма потом проблемы конечно - надо разбираться, но заголовки к которым обращаются то теже....

Проблема вроде в том, что при компиляции ДСУ в них вставляется код из соотв хедеров для импортируемых функций, который может отличаться в других версиях Дельфи (Билдера).

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:58 19-06-2006
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
imonah

Цитата:
А в чем проблема то? Любой декомпилятор типа Dede или dcu2pas корректно выдергивает заголовок функций. В представлении асма потом проблемы конечно - надо разбираться, но заголовки к которым обращаются то теже....

У меня проблемы нет. Я просто объяснил человеку политику Борланда. Кроме того чем разбираться в асемблере, проще использовать DCU от нужной версии, или найти аналог с исходниками. Мне жалко своего времени на обточку напильником результатов декомпиляции.  
А насчет проблемы совместимости, в разных версиях разные языковые возможности, и немного разная RTTI и служебная инфа в DCU, а раз разная  тогда получается что гиморно поддерживать совместимость.

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 11:59 19-06-2006
GUNski



Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вобщем-то, главное правильно прописать сёчпас и все буде оки

Всего записей: 33 | Зарегистр. 25-01-2006 | Отправлено: 20:40 25-07-2006
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Как в Delphi подключить чужой dcu?


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru