![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Volf |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 26.1.2007 Репутация: нет Всего: нет |
Уж звеняйте, если немного не в тему или подобная тема была уже!
Вопрос в следующем: Создаю dll фсё нормально компелится и, естественно, ругается, что не может быть запущено.... Потом в проекте пробую подцепить свою dll, которая лежит в тойже директории, что и exe... Мож я что не понимаю... Хотяб сцылку на ман прикольный дайте.... Особо времени нет в инете лазить.... Помогите, заранее спосибки.... |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 23 Всего: 459 |
В параметрах запуска, можно указать приложение, которое будет ее загружать, тем самым можно производить ее отладку. Если приложение и библиотека находятся в одной папке и все имена указаны правильно, то загрузка пройдет без проблем. Проверьте все названия функций имя библиотеки.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ptica_Oz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
написала я длл на VC++ для автоматизации автокада с использованием win api. в правильности работы ф-ций, описаных в длл я уверена. подключила ее к делфи (пишу плагин) и тут такое начилось!!! а именно: ф-ции win api работают не корректно. автоматизация, по крайней мери та, которая описана до проблемной ф-ции работает нормально, но что будет дальше... мысли об этом меня пугают.
в делфях длл ф-цию описываю так:
люди добрые!!! помогите кто чем может!!! |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 23 Всего: 459 |
Ptica_Oz, в VC++ функции Dll объявлены как stdcall или по умалчанию?
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ptica_Oz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
да, как stdcall
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 23 Всего: 459 |
а слона то я и не подметил
Делфийский стринг != Сишный стринг. В делфи стринг это длинная строка с со сложной структурой, фактически неявный объект, для использования которого нужен общий с Dll менеджер памяти. Вероятно в VC передавался PChar. Именно его и нужно указывать в качестве параметра прототипа функции в делфи. Вообще параметры string могут передваться только от приложения написанного в делфи к dll написанной также на делфи или наоборот. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ptica_Oz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
попробую... но мне кажется дело тут не в этом... длл получает параметры (в длл они char *) проблема возникла конкретно при выполнении этой ф-ции:
до этого полученные параметры использовались успешно, хотя только в ф-циях автоматизации а не в win api ф-циях З.Ы. hPrinter = 0, pname = имя принтера, то самое, которое передаётся из делфей З.З.Ы. а самое забавное, что по началу эта ф-ция срабатывала (правда не знаю корректно ли) а вылетала на другой win api-шной ф-ции, которая вызывалась соответственно позже... |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 23 Всего: 459 |
что это за функция? да и вообще при неправельной передаче параметров глюки могут появиться в любом месте -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ptica_Oz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
кажись стало получаться, но возникли проблемы с преобразованием String в PChar. Об этом в другой теме
|
|||
|
||||
| Ptica_Oz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
сделала как вы советывали: передаю PChar. толку ноль. в том же самом месте спотыкается. думаю тут уже в VC++ проблема попробую в другом подразделе вопрос задать... спасибо за помощь.
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 23 Всего: 459 |
Ptica_Oz, попробуйте сделать пустую Dll, которая экспортирует функцию с теми же параметрами. и выводит на экран содержимое переданных параметров. Я поробую написать прогу на делфи, которая заполнит их и вызовет функцию.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ptica_Oz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
в длл я натыкала MessageBox для контроля происходящего, все параметры передаются нормально. прихожу к выводу что именно с DocumentProperties проблемы...
|
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |