Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];

Вниз

Что-то с памятью моей стало! Assigned ли?   Найти похожие ветки 

 
WebErr   (2004-02-24 16:16) [0]

В общем так:

{$B-}
if Assigned(AddMedicsForm) and (TComponent(AddMedicsForm.Owner) = AOwner) then
begin
AddMedicsForm.Show;
if AddMedicsForm.WindowState = wsMinimized then
AddMedicsForm.WindowState := wsNormal;
end else
begin
AddMedicsForm := TAddMedicsForm.Create(AOwner);
AddMedicsForm.FormCreate(AOwner);
end;

в строке 2 сразу (но не всегда!) выдаёт EAccesViolation, сразу на проверке условия на Owner! К чему это он, и как от этого избавиться?


 
Anatoly Podgoretsky   (2004-02-24 16:19) [1]

Или он Assigned или выставлены соответсвующий флаги обработки комплексных выражений


 
WebErr   (2004-02-24 16:23) [2]

[1] Странный ответ, так {$B-} же!


 
WebErr   (2004-02-24 16:42) [3]

А, всё, понял! Так оно и есть! Теперь даже работает! Спасибо! Просто при высвобождении памяти, Дель не всегда обнуляет указатель. Я второй раз открывал окно и происходило выполнение запретного условия Assigned(AddMedicsForm). Решилось всё очень просто:

procedure TAddMedicsForm.FormDestroy(Sender: TObject);
begin
AddMedicsForm := nil;
end;


 
Anatoly Podgoretsky   (2004-02-24 16:51) [4]

WebErr © (24.02.04 16:23) [2]
Нет не странный, он был бы странным если бы ты это указал в вопроса, а так абсолютно нормальны, это вопрос странный с неполными данными.

Дельфи никогда не обнуляет указатели на объекты, поскольку она про все их них не знает и не знает самого главного когда обнулять!

С учетом уточнения у тебя остается первый вариант оно Assigned можешь теперь в этом не сомневаться. А вот сделать не Assigned твоя забота.


 
Skier   (2004-02-24 16:53) [5]

>WebErr
Есть ещё флажок csDestroying в свойстве ComponentState.
Иногда бывает весьма полезен...


 
MBo   (2004-02-24 17:11) [6]

>Skier
???


 
Skier   (2004-02-24 17:21) [7]

А не надо обращаться к полям компонента когда сам компонент
"is about to be destroyed."


 
WebErr   (2004-02-24 17:27) [8]

Чтобы всё на свете знать надо в Форум забредать! Спасибо всем!)



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

Форум: "Основная";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
3-12294
VLAD-MAL
2004-02-09 14:16
2004.03.05
Поддержка GUID в InterBase/FireBird


1-12343
Sungod
2004-02-22 13:36
2004.03.05
ShellTreeView отбражение файлов определённого типа


8-12453
alexay
2003-11-03 12:21
2004.03.05
Организация просмотра многостраничного файла TIFF GROUP 4


1-12418
Дельфятник
2004-02-24 15:57
2004.03.05
Вопрос по функции pos


1-12383
Talan
2004-02-25 00:24
2004.03.05
Создание объекта





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