|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.05.2013, 10:59 | #1 |
Пользователь
Регистрация: 14.10.2011
Сообщений: 29
|
Всем доброго времени суток. Помогите, пожалуйста - сам не могу понять где конкретно ошибка. Это моя первая программка на C++ Builder. Перевожу ее из Visual Studio 2006.
Проблема в следующем. Все компилируется и работает нормально, но если выполнять обработчики в следующей последовательности (NameLabeledEditChange, PayLabeledEditChang, AddButtonClick, EraseButtonClick, ExitButtonClick), то возникает ошибка по завершении: Debugger exception notification 'Invalid pointer operation' Юнит приведен ниже: Последний раз редактировалось Stilet; 17.05.2013 в 08:08. |
16.05.2013, 11:05 | #2 |
Пользователь
Регистрация: 14.10.2011
Сообщений: 29
|
Код:
|
16.05.2013, 11:06 | #3 |
Пользователь
Регистрация: 14.10.2011
Сообщений: 29
|
Ошибку порождает попытка очистить Мемо:
Код:
Код:
Дело, скорее всего, в выделении и последующем освобождении памяти. Не могу понять где ошибся. Заранее спасибо всем откликнувшимся ))) |
16.05.2013, 13:50 | #4 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Как описаны структуры?
Для Mem_input_data надо выделять памяти на один байт больше, для '\0'. К тому же, то, что ты ввёл в едите в качестве Pay, совершенно не равняется длине вещественного числа, которое ты пытаешься в эту строку запихать. Т.е., ты ввёл 3.5, а пытаешься записать 0.3500000000Е+01. В результате - переполнение буфера со всеми вытекающими... И вообще, зачем такие трудности с выделением памяти? Код:
Последний раз редактировалось Stilet; 17.05.2013 в 08:10. |
16.05.2013, 16:41 | #5 |
Пользователь
Регистрация: 14.10.2011
Сообщений: 29
|
Структура и функции объявлены в MyFunctions.h. Почему-то в выложенном мной коде потерялся соответствующий include (
Код:
Я, вообще, только знакомлюсь с понятием классов со всеми вытекающими... А что не так с динамическими массивами? Спасибо, буду копать дальше... Последний раз редактировалось Stilet; 17.05.2013 в 08:13. |
16.05.2013, 17:26 | #6 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Память можно выделить немедленно, если её много не надо. Например, сотворить массив структур и не парится с выделениями памяти.
Код:
Код:
Код:
Последний раз редактировалось FataLL; 17.05.2013 в 09:27. Причина: Звёздочку забыл, балда... |
16.05.2013, 22:31 | #7 |
Пользователь
Регистрация: 14.10.2011
Сообщений: 29
|
Спасибо
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
При выполнение кода выводится Debugger exception notification | sasha198407 | БД в Delphi | 0 | 31.03.2012 11:50 |
Ошибка Debugger Exception Notification | VKorablev | C++ Builder | 5 | 24.11.2011 16:58 |
Invalid Pointer Operation | Стелс | Компоненты Delphi | 1 | 25.09.2011 21:24 |
Ошибка - Debugger exception notification | Football_lady | БД в Delphi | 1 | 15.01.2010 19:07 |
Invalid Pointer Operation | Unconnected | Общие вопросы Delphi | 3 | 21.02.2009 20:23 |