![]() |
|
![]() ![]() ![]() |
|
chaos |
|
||||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 4 Всего: 44 |
Постоянно выскакивают ошибки
вот текст длл
а вот сама программа
народ подскажите в чем тут дело Это сообщение отредактировал(а) chaos - 18.3.2005, 10:02 |
||||
|
|||||
NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 2 Всего: 23 |
chaos
Чтобы узнать, на какой строке вылетает, сделай отладку. |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 4 Всего: 44 |
я думаю что проблема в передаче параметров те в последовательности
stdcall... |
|||
|
||||
kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
Блин, та же ошибка
![]() Если конкретнее: "Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention." Появилась она когда заменил typedef void (WINAPI* cfunc)(); на typedef void (WINAPI* cfunc)(int, int, int); Причем выскакивает как раз перед FreeLibrary. ??? Да, и еще.
То есть в диалоговом окне выбираю параметры, затем передаю в функцию. m_iEntrNum и m_iExitNum - тип DWORD, m_sliderRarity - slider control Если в СreateLabirint передать константы, например СreateLabirint(5,5,4); то работает нормально (то есть выскакивает только одна ошибка =) ), а если так, как здесь сделано, то получается пугающий Abort. ![]() Интересно, почему? Какая разница? -------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
Nastya |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 27.3.2002 Где: Мариуполь Репутация: 1 Всего: 44 |
Пройдись в самой функции по отладке.
Возможно гд-то внутри была некорректная работа с памятью и нарушился стек или что-то еще -------------------- Что бы понять рекурсию, надо понять рекурсию "Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор |
|||
|
||||
Fantasist |
|
||||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 1 Всего: 41 |
А вы в курсе, что extern "C" - это cdecl, а WINAPI - это stdcall? kometa_triatlon покажи,, как ты функцию CreateLabirint объявляешь в dll. -------------------- Волны гасят ветер... |
||||
|
|||||
kometa_triatlon |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
Чтобы мало не показалось ![]() В dll есть мой класс CLabirint, работаю с ним. -------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
||||
|
|||||
Fantasist |
|
||||||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 1 Всего: 41 |
kometa_triatlon.
Эх-эх.... Еще раз:
extern "C" - это cdecl (по умолчанию). WINAPI - это stdcall. Вот это вот сообщение:
прямым текстом указывает в чем проблема. -------------------- Волны гасят ветер... |
||||||
|
|||||||
kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
Вау. А что такое? cdecl, stdcall?
![]() ![]() Ну а как же избавиться от проблемы? Что изменить? -------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
Fantasist |
|
||||||||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 1 Всего: 41 |
Реккомендуется посмотреть хелп. Зачем мне в него лезть и копировать сюда?
Поменяй либо объявление в dll на такое:
(здесь могут возникнуть проблемы с декорацией имен и тогда нужен будет .DEF файл) либо в ехе:
-------------------- Волны гасят ветер... |
||||||||
|
|||||||||
kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
Fantasist
![]() Спасибо -------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |