![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Madest |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 27.11.2003 Где: Городок Репутация: нет Всего: нет |
Почему объект COleDateTime нормально работает в релизе, а в дебаге, при вызове функции SetDate(...) вылетает с ошибкой -
The value of ESP 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. А при вызове GetDay() в дебаге всегда возвращает 7, как число не меняй. Повторюсь в релизе все работает отлично. --------------------
|
|||
|
||||
| AndyY |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 8.5.2004 Где: СПб Репутация: 2 Всего: 4 |
Madest
причина в несовпадении описания функции (например cdecl) и реализации (к примеру stdcall). Для начала рекомендую rebuild all, потом - смотреть, после вызова какой конкретно функции падает __checkesp (в окне дизасемблера). там-же можно выяснить почему. |
|||
|
||||
| Madest |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 27.11.2003 Где: Городок Репутация: нет Всего: нет |
Буду очень признателен, если подскажешь как в дизассемблере найти место где падает __checkesp. Не силен я в нем (мягко говоря).
А вызвать такую ошибку на VC6 просто: 0. Создаю проект-диалог. 1. Добавляю стандартный контрол Date Time Picker (пусть IDC_DATE). 2. Добавляю в хидер классу диалога COleDateTime p_date. 3. Добавляю в DoDataExchange() DDX_DateTimeCtrl(pDX,IDC_DATE,p_date). Так пока все работает в дебаге. Стоит добавить например в OnInitDialog() SetDate(1999,11,11) вылетает с вышеописанной ошибкой, ссылаясь на файл chkesp.c. Это сообщение отредактировал(а) Madest - 24.8.2004, 09:44 --------------------
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Madest
А где именно ошибка появляется? В какой функции? |
|||
|
||||
| Madest |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 27.11.2003 Где: Городок Репутация: нет Всего: нет |
Как только добавляю SetDate(...) вылезает окно "Debug Error!" с руганью, описанной выше и тремя кнопками на букву "П". Если нажать "Повтор" - дизассемблируется. Вот все, функцию не знаю.
--------------------
|
|||
|
||||
| Олег М |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: 7 Всего: 7 |
В SetDate негде ошибке вылазить. Ошибка в чём-то другом. Полностью перекомпилить пробовал? Может ты что-нибудь другое неправильно делаешь - проверь остальной код.
|
|||
|
||||
| Madest |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 27.11.2003 Где: Городок Репутация: нет Всего: нет |
Пробовал. Только что создал еще один новый такой же проект - то же самое. Может в настройках вижуала у меня чего не так?
--------------------
|
|||
|
||||
| Олег М |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: 7 Всего: 7 |
Может у тебя библиотека полетела. типа mfc42.dll? Попробуй МФС подключить статически
|
|||
|
||||
| Madest |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 27.11.2003 Где: Городок Репутация: нет Всего: нет |
EHF!
Откопал старую (первую свою самую с-шную) компаху с читым VC6. А глючила предыдущая VC6 c компахи с VS6. Спасибо. А дизассемблер все равно хочется хоть немного понимать. --------------------
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |