![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
Ну, если я понял верно, то С-шная ф-ция принимает ссылку на существующую структуру и заполняет её. То есть
Код:
Код:
Код:
И кстати, что значит макрос QBOX_API? Скорее всего в нём указан тип вызова, так что стоит к нему присмотреться ) Последний раз редактировалось netrino; 17.11.2009 в 15:24. |
![]() |
![]() |
![]() |
#12 |
PHP, Delphi
Форумчанин
Регистрация: 07.05.2008
Сообщений: 388
|
![]()
Попробовал так сделать - не работает. Выбивает ошибку. Видимо нужно через указатели.
|
![]() |
![]() |
![]() |
#13 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]() Цитата:
Для проверки написал такое(C++): Код:
Код:
... Кстати, ещё вопрос, в C++-ом исходнике у экспорта функции стоит extern "C"? Как вообще выглядит имя функции в таблице экспорта dll? Последний раз редактировалось netrino; 17.11.2009 в 18:51. |
|
![]() |
![]() |
![]() |
#14 |
PHP, Delphi
Форумчанин
Регистрация: 07.05.2008
Сообщений: 388
|
![]()
Ну вот как я изменил:
Код:
Код:
Что я не так делаю? |
![]() |
![]() |
![]() |
#15 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
Вот так должно быть правильно:
Код:
![]() |
![]() |
![]() |
![]() |
#16 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
А вызывать - qbox_GetLocation(@QA);
пыщь
|
![]() |
![]() |
![]() |
#17 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]() |
![]() |
![]() |
![]() |
#18 |
PHP, Delphi
Форумчанин
Регистрация: 07.05.2008
Сообщений: 388
|
![]()
Пробовал и так, и сяк. Все вроде должно работать, но при завершении вызывает (как и вызывало раньше
![]() ![]() Вот весь исходник прикреплен, может опять что-то накосолапил? Последний раз редактировалось apromix; 17.11.2009 в 20:13. Причина: Дополнил |
![]() |
![]() |
![]() |
#19 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
function qbox_GetLocation(var qb_loc: QBoxLocBtn) : Integer; stdcall; external QBoxDLLFile;
и ZeroMemory(@QA, sizeOf(QA)); перед qbox_Init; ![]() Вообще, в лучших традициях сишного кода, нужно так Код:
пыщь
Последний раз редактировалось JTG; 17.11.2009 в 20:44. |
![]() |
![]() |
![]() |
#20 |
PHP, Delphi
Форумчанин
Регистрация: 07.05.2008
Сообщений: 388
|
![]()
Да, все работает значительно лучше и понятнее
![]() Дело в том, что если я пишу так: Код:
Последний раз редактировалось apromix; 17.11.2009 в 21:21. Причина: Дополнил |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при выхове функций Bass.dll из другой DLL | SalasAndriy | Общие вопросы Delphi | 7 | 21.10.2009 23:36 |
С++: правильный импорт dll | apromix | Помощь студентам | 1 | 04.10.2009 02:28 |
Запуск Load.dll (бывшая Load.exe) в дереве проц-ов, Как запустить прогой на C# .dll-ку | kapustin | Общие вопросы .NET | 10 | 23.09.2009 22:20 |
Импорт DLL в прогу | cowboy | Общие вопросы Delphi | 5 | 14.04.2009 13:37 |
Импорт VB6 DLL в C++ | DmF | Общие вопросы C/C++ | 1 | 06.03.2008 08:48 |