Главная страница
    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.48 MB
Время: 0.045 c
2-1185875949
Denni
2007-07-31 13:59
2007.08.26
String to Hex


2-1186160090
sashap
2007-08-03 20:54
2007.08.26
Замена popmenu в tstringgrid е


2-1185624555
mobwar
2007-07-28 16:09
2007.08.26
ТМемо замена одной буквы на другую.


11-1168409798
Don
2007-01-10 09:16
2007.08.26
Ошибка при уничтожении ProgressBar


15-1185433846
@!!ex
2007-07-26 11:10
2007.08.26
Маечка.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский