Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.26;
Скачать: CL | DM;

Вниз

память не может быть "written".   Найти похожие ветки 

 
rosl   (2007-08-05 16:35) [0]

При выходе программа выдаёт ошибку:
Инструкция по адресу "0x004b2808" обратилась к памяти по адресу "0x00f3cb0c" память не может быть "written".
закрываю программу командой CLOSE

предлагается отладка, но как ей пользоваться?
заметил, что ошибка вылетает, если добавляю в uses любой класс. Но ведь до этого всё нормально было, и форм много, и компанентов на них тоже. и ругается на любой компанент, даже на те, что вместе с DELPHI идут


 
{RASkov} ©   (2007-08-05 16:46) [1]

> [0] rosl   (05.08.07 16:35)

"Пытаешься" работать с несуществующим объектом... Т.е. с еще не созданным или с уже убитым....
ищи все объекты и смотри их целостность....

> заметил, что ошибка вылетает, если добавляю в uses любой
> класс.

Во первых в Uses классы не добавляются..., а модули...
Ну дык если uses вообще пустой, то....
Что за программа у тебя?


 
{RASkov} ©   (2007-08-05 16:48) [2]

Или Работа с памятью, Указатели....
Память не выделил, а пытаешься туда что-нибудь записать. Скорее всего.


 
Инс ©   (2007-08-05 16:51) [3]


> Т.е. с еще не созданным или с уже убитым....

Скорее всего уже убитым. Еще не созданным - не может быть, так как адрес слишком от nil отличается


 
Инс ©   (2007-08-05 17:01) [4]

Хотя нет, странно. Это окно означает необработанное исключение. В коде с использованием VCL необработанное исключение маловероятно, так как смотрим реализацию метода Run класса TApplication. Там весь код заключается в SEH-фрейм. Так что, тут телепатировать трудно. Нужно смотреть подробнее.

PS: Кстати, в uses не классы добавлять надо, а модули ;)


 
oxffff ©   (2007-08-05 17:14) [5]


> Еще не созданным - не может быть, так как адрес слишком
> от nil отличается


А нефинализируемые параметры в стеке не инициализируется. Так что объект может быть еще не создан.


 
Инс ©   (2007-08-05 17:16) [6]


> [5] oxffff ©   (05.08.07 17:14)

Если речь идет о локальной переменной классового типа - то да. А если о глобальной, то она не в стеке хранится, а в сегменте данных. Там инициализируется. Если речь переменная классового типа - это поле другого класса - то тоже инициализируется нулем.


 
oxffff ©   (2007-08-05 17:22) [7]


> Если речь переменная классового типа - это поле другого
> класса - то тоже инициализируется нулем.


Не всегда, если NewInstance не перекрыт. :)


 
Инс ©   (2007-08-05 17:26) [8]


> Не всегда, если NewInstance не перекрыт. :)


В принципе да, правда не помню, чтобы где-либо я видел, чтобы он был перекрыт.


 
oxffff ©   (2007-08-05 17:37) [9]


> В принципе да, правда не помню, чтобы где-либо я видел,
> чтобы он был перекрыт.


Я использовал в целях небольшой оптимизации. ;)


 
Инс ©   (2007-08-05 22:03) [10]


> Я использовал в целях небольшой оптимизации. ;)


Ааа, тогда ясно :)) Буду молиться, чтобы мне не пришлось использовать ваш код в своих проектах! Боюсь увидеть там ООП нового поколения. Если судить по вашим последним вопросам, то бедный TObject лежит в соплях у ваших ног, корчится и просит о пощаде! Помилуйте его, что он вам сделал?!

PS: это не наезд, просьба не обижаться. Я так шучу ;)


 
oxffff ©   (2007-08-05 23:29) [11]


> Инс ©   (05.08.07 22:03) [10]
>
> > Я использовал в целях небольшой оптимизации. ;)
>
>
> Ааа, тогда ясно :)) Буду молиться, чтобы мне не пришлось
> использовать ваш код в своих проектах! Боюсь увидеть там
> ООП нового поколения. Если судить по вашим последним вопросам,
>  то бедный TObject лежит в соплях у ваших ног, корчится
> и просит о пощаде! Помилуйте его, что он вам сделал?!
>
> PS: это не наезд, просьба не обижаться. Я так шучу ;)


Почему ООП нового поколения?
Если это предусмотрено структурой базового класса в Delphi?
На этом основана работа _ClassCreate.


 
Инс ©   (2007-08-05 23:36) [12]


>  [11] oxffff ©   (05.08.07 23:29)


Не, я не про NewInstance. Я понимаю, что это виртуальный классовый метод. А про вообще в принципе. Ваши последние эксперименты безусловно интересны в теоретическом плане, но вот в надежности кода, на них построенном, я что-то сомневаюсь. В прочем, это оффтопик.


 
rosl   (2007-08-06 02:23) [13]


> Или Работа с памятью, Указатели....Память не выделил, а
> пытаешься туда что-нибудь записать. Скорее всего.

как выделять память? ссылочку об этом, если можно...


 
oxffff ©   (2007-08-06 08:43) [14]


> Инс ©   (05.08.07 23:36) [12]
>
> >  [11] oxffff ©   (05.08.07 23:29)
>
>
> Не, я не про NewInstance. Я понимаю, что это виртуальный
> классовый метод. А про вообще в принципе. Ваши последние
> эксперименты безусловно интересны в теоретическом плане,
>  но вот в надежности кода, на них построенном, я что-то
> сомневаюсь.


Пример ненадежности в студию.



Страницы: 1 вся ветка

Текущий архив: 2007.08.26;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.031 c
9-1155485737
Kav
2006-08-13 20:15
2007.08.26
ODE составная геометрия


15-1185369608
С. Егор
2007-07-25 17:20
2007.08.26
AppServ и SSi


1-1181834565
Tack
2007-06-14 19:22
2007.08.26
Как узнать, есть ли в TRichEdit двоичные объекты


3-1178391943
Wiser87
2007-05-05 23:05
2007.08.26
Вывод похожего названия в DBEdit


15-1185397599
Petr V. Abramov
2007-07-26 01:06
2007.08.26
кака отличить съедобный гриб от ядовитого?