Главная страница
    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.46 MB
Время: 0.005 c
7-12562
BlackTiger
2003-12-17 11:55
2004.03.05
COM2 под Windows98... Где грабли зарыты?


3-12289
Relaxxx
2004-02-06 19:23
2004.03.05
Нужен совет, у меня есть таблица, которая формируется...


1-12394
Insert
2004-02-24 19:27
2004.03.05
Список файлов?


4-12581
brat
2003-12-30 21:49
2004.03.05
В трей запихал , а как вытащить обратно?


1-12443
Ivolg
2004-02-23 07:54
2004.03.05
Извлечение из Dll и Exe файлов





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