|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.11.2009, 15:18 | #11 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Ну, если я понял верно, то С-шная ф-ция принимает ссылку на существующую структуру и заполняет её. То есть
Код:
Код:
Код:
И кстати, что значит макрос QBOX_API? Скорее всего в нём указан тип вызова, так что стоит к нему присмотреться ) Последний раз редактировалось netrino; 17.11.2009 в 15:24. |
17.11.2009, 18:07 | #12 |
PHP, Delphi
Форумчанин
Регистрация: 07.05.2008
Сообщений: 388
|
Попробовал так сделать - не работает. Выбивает ошибку. Видимо нужно через указатели.
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты |
17.11.2009, 18:38 | #13 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Цитата:
Для проверки написал такое(C++): Код:
Код:
... Кстати, ещё вопрос, в C++-ом исходнике у экспорта функции стоит extern "C"? Как вообще выглядит имя функции в таблице экспорта dll? Последний раз редактировалось netrino; 17.11.2009 в 18:51. |
|
17.11.2009, 19:05 | #14 |
PHP, Delphi
Форумчанин
Регистрация: 07.05.2008
Сообщений: 388
|
Ну вот как я изменил:
Код:
Код:
Что я не так делаю?
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты |
17.11.2009, 19:21 | #15 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Вот так должно быть правильно:
Код:
|
17.11.2009, 19:42 | #16 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
А вызывать - qbox_GetLocation(@QA);
пыщь
|
17.11.2009, 19:46 | #17 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
|
17.11.2009, 20:09 | #18 |
PHP, Delphi
Форумчанин
Регистрация: 07.05.2008
Сообщений: 388
|
Пробовал и так, и сяк. Все вроде должно работать, но при завершении вызывает (как и вызывало раньше ) ошибку. И это главная проблема. И вот еще что: один раз показывает текст нормально, другой раз - короткий набор из нескольких символов (видно не попал указатель в нужное место, так кажется ). Испытал в Д-3, Д-7SE и Д-10 - везде одинаковая проблема (думал, в версию Дельфи закралась ошибка, потому так и происходит).
Вот весь исходник прикреплен, может опять что-то накосолапил?
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты Последний раз редактировалось apromix; 17.11.2009 в 20:13. Причина: Дополнил |
17.11.2009, 20:35 | #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. |
17.11.2009, 21:07 | #20 |
PHP, Delphi
Форумчанин
Регистрация: 07.05.2008
Сообщений: 388
|
Да, все работает значительно лучше и понятнее Это меня радует. Огромное спасибо Пепел Феникса, JTG и netrino! Вы очень помогли разобраться. Но почему программа сама завершает работу, слетает? В среде еще показывает ошибку ...system exception... Без Дельфи просто завершает работу. Беру в скобки try, но ничего не помогает.
Дело в том, что если я пишу так: Код:
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты Последний раз редактировалось 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 |