Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Непонятная ошибка. Объясните кто понимает...


Drug1985 ©   (2006-07-13 20:42:00) 

Я писал программу. Все было хорошо. Но тут вдруг начала выскакивать ошибка.
"Access violation at address 7C912FFC in module 'ntdll.dll'. Write of address 00404044ed"
Кто знает что это и как исправит напишите пожалуйста!


Fay   (2006-07-14 21:29:00) [1]

2 evvcom ©   (14.07.06 20:46) [12]
> с "длинного" нуля начинаться
С какого перепугу?


evvcom   (2006-07-14 20:46:00) [2]

> [9] Desdechado ©   (14.07.06 11:56)
> Подобные ошибки возникают у начинающих обычно при попытке
> обращения к неинициализированному (несозданному) объекту

Да не... Если к несозданному, то адрес будет типа:
Access violation at address 7C912FFC in module 'ntdll.dll'. Readof address 00 00000XXX" с "длинного" нуля начинаться. А тут запись похоже в выделенную и потом отданную назад память. А указатель обнилить или установить (сбросить) флаг автор где-то забыл.


MixAnOL   (2006-07-14 16:49:00) [3]


S.items.Add();            // Ошибка доступа к памяти Access violation at address


только Access violation будет не в ntdll.dll


bobah   (2006-07-14 14:30:00) [4]

Вот пример:

Есть у тебя некая процедура


procedure AnyProc;
var S: TStrings;   // это класс прежде чем сним работать нужно выделить ему память
begin
 S.items.Add();            // Ошибка доступа к памяти Access violation at address
 S := TStringList.Create // Выделили память
 S.items.Add();            // Всё нормально
 S.Free;                      // Освободили память
 S.items.Add();            // Ошибка доступа к памяти Access violation at address
end;


Desdechado   (2006-07-14 11:56:00) [5]

Подобные ошибки возникают у начинающих обычно при попытке обращения к неинициализированному (несозданному) объекту или наоборот, после его удаления.
У более продвинутых - явной при работе с указателями.


Юрий Зотов   (2006-07-13 23:11:00) [6]

> Drug1985   (13.07.06 20:42)

Перечитайте свой вопрос и представьте, что это ВАМ его задали.

И как бы Вы ответили на ТАКОЙ вопрос?

Вот точно так же отвечают и вам. Чему удивляться?

Если хотите получить более информативный ответ, то, видимо, и в вопросе надо дать хоть какую-то информацию, разве нет? У Вас есть стек вызовов и есть отладчик - так что мешает поставить BreakPoint на строке, которая вызывает ошибку и проверить значения переменных?


sniknik   (2006-07-13 22:52:00) [7]

> что из описания ошибки сложно (скорее невозможно) сделать выводы о ее причинах.
ну, кое какие выводы можно сделать, обычно если в виндовых dll-ках возникают исключения то это он неверных параметров при вызове их функций. к примеру не выделена память под переменную которую туда передаеш и в которой ожидается возврат данных. точнее тяжко.

> Блин а что серьезных людей тут нет!
> Спсибо за флуд! Очень мне это помогло!
я ездил на машине. все было хорошо. но тут вдруг мотор начал глохнуть.
с таким звуком "дрррр дрррр тррррах тррррррРн."
кто знает что это и как отремонтировать напишите пожалуйста!

... а лучше ты ответь, только точно что это, без флуда.


Суслик   (2006-07-13 21:44:00) [8]

это не флуд :)

я конечно не знаю точно, но возможно, что если ты приведешь точнейшее описание своей системы (windows), то можно будет понять, что находится по указанному адресу в указаннной dll. может быть и такое, что указанная dll всегда грузится по одному и тому же адресу, тогда кто-нить знающий может тебе сказать, что за метод вызвал исключение.
скорее всего будет что-то глубоко системное, и эта инфа тебе не даст тебе ничего.

поэтому не зная деталей ничего сказать невозможно.

ЗЫ. 17 строка это обычно значит, что из описания ошибки сложно (скорее невозможно) сделать выводы о ее причинах. Это слэнг такой :)


Drug1985   (2006-07-13 21:04:00) [9]

Блин а что серьезных людей тут нет!
Спсибо за флуд! Очень мне это помогло!


Ketmar   (2006-07-13 20:58:00) [10]

format /?


Drug1985   (2006-07-13 20:53:00) [11]

Спасибо за полный и еткий ответ. :-)
А если чуть чуть поподробнее.
В чем именно ошибка и почему в 17 строке.
Напиши если не сложно!


Суслик   (2006-07-13 20:52:00) [12]

Ошибка может быть в чем угодно.


Andy BitOff   (2006-07-13 20:45:00) [13]

Ошибка в 17 строке.


Наверх

Титульная страница Поиск, карта сайта Написать письмо