Главная страница
    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.04 c
15-1185349549
gn
2007-07-25 11:45
2007.08.26
Задачка


15-1185364257
Ламот
2007-07-25 15:50
2007.08.26
"Вложенное" условие на SQL


2-1186138779
interandry
2007-08-03 14:59
2007.08.26
Помогите с созданием класса


15-1185199585
Алхимик
2007-07-23 18:06
2007.08.26
Идентификация композиции


2-1185858542
tytus
2007-07-31 09:09
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский