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

Вниз

Закрытие модального окна   Найти похожие ветки 

 
LiberlX   (2006-10-31 16:26) [0]

Здравствуйте всем!
Устал бороться с модальным окном. При его закрытии уничтожается Owner. И, как следствие, Access violation.
Как мне при закрытии модального окна не уничтожать Owner"a?


 
Сергей М. ©   (2006-10-31 16:27) [1]


> Как мне при закрытии модального окна не уничтожать Owner"a?


Просто не уничтожай его - и все) .. Owner же не виноват в твоих программых ошибках ...


 
Rule ©   (2006-10-31 16:39) [2]

LiberlX   (31.10.06 16:26)
При его закрытии уничтожается Owner

а с каких это коней он уничтожается ???


 
Stanislav ©   (2006-10-31 16:39) [3]

Ты лучше напиши что ты делаешь.


 
Desdechado ©   (2006-10-31 17:33) [4]

кто такой овнер и к кому он относится?


 
StriderMan ©   (2006-10-31 18:30) [5]


> Как мне при закрытии модального окна не уничтожать Owner"a?

//  Owner.Free;


 
Leonid Troyanovsky ©   (2006-10-31 19:11) [6]


> LiberlX   (31.10.06 16:26)  

> Как мне при закрытии модального окна не уничтожать Owner"a?


А зачем модальному окну Owner?

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2006-10-31 20:03) [7]

> Leonid Troyanovsky  (31.10.2006 19:11:06)  [6]

Вообще то нужен, по крайней мере в Д2006, вот только зачем его уничтожать,
ничего разумного в голову не приходит.


 
LiberalX   (2006-10-31 20:17) [8]

Есть такая фишка, что при закрытии модального окна закрывается родительское окно, из которого оно [модальное] было вызвано. Я уже встречался с этим как-то давно, и поборол, и не могу вспомить как. Память дырявая. :)

Ну дак вот, TForm.Create(AOwner: TComponent). Этот самый овнер, в моем, конкретном случае, кнопка по нажатию на которую выполняется скрипт (встроенный язык скриптовый). Из скрипта вызывается модальное окно с вопросом (не showmessage), после которого происходит дальнейшее выполнение скрипта. Когда я закрываю модальную форму, допустим по mrOk, этот самый овнер уже null. У меня продолжается выполнение скрипта, объекта которого уже нет и сразу отлуп естественно...


 
Anatoly Podgoretsky ©   (2006-10-31 20:21) [9]

> LiberalX  (31.10.2006 20:17:08)  [8]

Э да у тебя ошибка в программе.


 
LiberalX   (2006-10-31 20:29) [10]


> Э да у тебя ошибка в программе.


Да ну...

Польщен перемещением моего вопроса. Спасибо всем участникам за помощь :)


 
Anatoly Podgoretsky ©   (2006-10-31 20:32) [11]

> LiberalX  (31.10.2006 20:29:10)  [10]

> Польщен перемещением моего вопроса.

И сразу слинял.


 
LiberalX   (2006-10-31 20:33) [12]


> И сразу слинял.


Внимательно слушаю.


 
Anatoly Podgoretsky ©   (2006-10-31 20:36) [13]

> LiberalX  (31.10.2006 20:33:12)  [12]

Нет это мы тебя слушаем и пока безрезультатно.


 
Desdechado ©   (2006-10-31 20:50) [14]

чувак, грызи гранит, а?
http://www.ln.ua/~openxs/articles/smart-questions-ru.html


 
LiberalX   (2006-10-31 21:04) [15]

Хорошо вообще себя чувствуете?


 
MsGuns ©   (2006-10-31 23:52) [16]

Ты код вообще-то можешь привести или дальше будем "граты у котыка та билочку" ?


 
RASkov   (2006-11-01 02:17) [17]

FormDlg: TFormDlg;
FormMain: TFormMain;
FormChild: TFormChild;

procedure TFormChild.ButtonClick();
begin
FormDlg:=TFormDlg.Create(FormMain);
FormDlg.ShowModal;
end;

procedure TFormDlg.Close();
begin
 FormChild.Free; FormChild:=nil;
end;


Понятно, что код не весь, и довольно таки дурной, но думаю то, что подчеркнуто - это и есть ответ на вопрос.


 
RASkov   (2006-11-01 02:22) [18]

Ну да, забыл вот еще чё:

procedure TFormMain.Button1Click();
begin
 FormChild:=TFormChild.Create(Self);
 FormChild.Show;
end;


 
Германн ©   (2006-11-01 02:30) [19]

2 RASkov
А зачем было изобретать LiberalX?

Всё остальное очень криво, имхо. Опять тянет на "уничтожение объекта" внутри обработчика его, т.е. объекта события.
Решения есть, но лучше бы тебе подробнее объяснить "глобальную" задачу. Иначе получишь либо "метлу" либо ворох "неответов".


 
RASkov   (2006-11-01 02:43) [20]

> 2 RASkov
> А зачем было изобретать LiberalX?

???? Это Вы подумали, что это мой вопрос?

> Опять тянет на "уничтожение объекта" внутри обработчика
> его, т.е. объекта события.

Это не меня тянет, а автора:))


> Понятно, что код не весь, и довольно таки дурной


 
Германн ©   (2006-11-01 02:58) [21]


> RASkov   (01.11.06 02:43) [20]

Как прикажешь понимать тебя, Саид?
После
> MsGuns ©   (31.10.06 23:52) [16]
>
> Ты код вообще-то можешь привести или дальше будем "граты
> у котыка та билочку" ?

последовало:

> RASkov   (01.11.06 02:17) [17]
>
> FormDlg: TFormDlg;
> FormMain: TFormMain;
> FormChild: TFormChild;
>
> procedure TFormChild.ButtonClick();
> begin
> FormDlg:=TFormDlg.Create(FormMain);
> FormDlg.ShowModal;
> end;
>
> procedure TFormDlg.Close();
> begin
>  FormChild.Free; FormChild:=nil;
> end;
>
> Понятно, что код не весь, и довольно таки дурной, но думаю
> то, что подчеркнуто - это и есть ответ на вопрос.
>

Ответ на какой вопрос?
А потом ещё и RASkov   (01.11.06 02:22) [18]

Ну да, забыл вот еще чё:

procedure TFormMain.Button1Click();
begin
FormChild:=TFormChild.Create(Self);
FormChild.Show;
end;

Имхо, стОит мне найти недавний ответ АП о том, что "лучше не прятаться, иначе "дураком помрёшь" :-) Буду его приводить в ответах. :-)


 
RASkov   (2006-11-01 03:06) [22]

Теперь понятно:)) Нет автор вопроса не я.
А вот чета и не подумал, что может произойти такая ассоциация моего поста с предыдущим:)

> Понятно, что код не весь, и довольно таки дурной, но думаю
>
> > то, что подчеркнуто - это и есть ответ на вопрос.

Я вообщето имел ввиду, ответ на вопрос автора. Т.е. подчеркнутое - это ему другой овнер.

Вот поправлю нимного:

FormDlg: TFormDlg;
FormMain: TFormMain;
FormChild: TFormChild;

procedure TFormMain.Button1Click();
begin
FormChild:=TFormChild.Create(Self);
FormChild.Show;
end;
.....
procedure TFormChild.ButtonClick();
begin
FormDlg:=TFormDlg.Create(FormMain);
FormDlg.ShowModal;
end;
....
procedure TFormDlg.Close();
begin
FormChild.Close;
end;
....
procedure TFormChild.FormClose();
begin
 FormChild.Free; FormChild:=nil;
end;


Еще раз говорю - ветку заводил не я.


 
Ketmar ©   (2006-11-01 03:23) [23]

>[22] RASkov 1-Nov-2006, 03:06
>Еще раз говорю - ветку заводил не я.
зарегистрируся, проще будет. %-) а вдруг я на тебя игнор захочу поставить? а ты неригистрированый... %-)


 
Германн ©   (2006-11-01 03:28) [24]


> Еще раз говорю - ветку заводил не я.

Но и ты, как и "автор" ветки стремишься  "уничтожить объект внутри его собственного обработчика"!


 
Германн ©   (2006-11-01 03:36) [25]


> Ketmar ©   (01.11.06 03:23) [23]

Dark, проспись. А то уж очень много очепяток! Мы, конечно, с АП "одной крови", но не до "такой же степени"! :-)


 
RASkov   (2006-11-01 03:38) [26]

> [23] Ketmar ©   (01.11.06 03:23)

Не вижу глубокого смысла в регистрации....

> а вдруг я на тебя игнор захочу поставить

Ну значит не судьба:) Дело твое....
Хотя может и зарегюсь...

> Но и ты, как и "автор" ветки

До сих пор не верит.... ну да ладно, доказывать не буду. Думай как знаешь.

> стремишься  "уничтожить объект внутри его собственного обработчика"!


> Есть такая фишка, что при закрытии модального окна закрывается
> родительское окно, из которого оно [модальное] было вызвано

Автор так захотел, его право. Пусть он выводы делает.

> [21] Германн ©   (01.11.06 02:58)

Извеняюсь, конечно, но это [21] мне не понравилось.
Вот за дурной код(который я приводил автору вопроса) чего либо услышать, я был готов.
Тем более еще и подписал, что код дурной, но ...
А то что в [21]....в часности последняя строчка... Вообщем - сам ты Саид.
Сказал не в обиду, хотя меня задело:) Сорри. Надеюсь автор свой вариант покажет.
ЗЫ Чёт у меня сегодня настроение плохое. (Было уже)


 
Ketmar ©   (2006-11-01 03:40) [27]

>[25] Германн(c) 1-Nov-2006, 03:36
>Dark, проспись.
не могу. надо до утра проект добить. потом нажрусь -- и тогда уже спать. %-)


 
RASkov   (2006-11-01 03:41) [28]

> [25] Германн ©   (01.11.06 03:36)

Пивко наверное в одной руке мешает:)


 
RASkov   (2006-11-01 03:42) [29]

Не угодал, но было близко:))


 
Германн ©   (2006-11-01 03:49) [30]


> RASkov   (01.11.06 03:41) [28]
>
> > [25] Германн ©   (01.11.06 03:36)
>
> Пивко наверное в одной руке мешает:)
>

Не пью пиво! Это тебе подтвердит любой, кто меня знает. А таких тут в форуме "больше одного"! :-)


 
RASkov   (2006-11-01 03:51) [31]

> [30] Германн ©   (01.11.06 03:49)

Я тоже не пью, т.е. я вообще пить завязал, а не только пиво:))
Эт я про [25]>[23]:)


 
RASkov   (2006-11-01 03:54) [32]

> Это тебе подтвердит любой, кто меня знает.

А зачем подтверждать. Ты както на свое день рождение под утро уже отвечал(здесь на форуме). И судя по ответом был "ниводном глазу":)) Т.е. трезвый как нистранно:)


 
RASkov   (2006-11-01 04:02) [33]

> [32] RASkov   (01.11.06 03:54)

Короче из-за нашего оффтопа ветку автора завтра(сегодня) наверное опять "куда-то" переместят:)
Пошел спать, завтра посмотрю.


 
RASkov   (2006-11-01 04:03) [34]

Чёй-то я сам себе уже начал отвечать.... Все...спать!


 
Германн ©   (2006-11-01 04:06) [35]


> зачем подтверждать. Ты както на свое день рождение под утро
> уже отвечал(здесь на форуме)

Не. "Под утро" - для меня, это вчера! Ты меня с кем-то спутал, имхо.
Ну а "нивадномглазу"" - это, имхо из  другой оперы!


 
LiberlX   (2006-11-01 08:33) [36]


> А зачем было изобретать LiberalX?

Он тут не причем, это все я.

> Но и ты, как и "автор" ветки стремишься  "уничтожить объект
> внутри его собственного обработчика"!

Я не слова не говорил про то, что я уничтожаю объект внутри его собственного метода. Никогда так не делаю и вам не советую.

> Мы, конечно, с АП "одной крови", но не до "такой же степени"!

Точно подмечено!

> Автор так захотел, его право. Пусть он выводы делает.

Еще раз, я не хотел чтобы модальное окно закрывало родительское!
Owner.Free; и прочее, я не делаю!

> Решения есть, но лучше бы тебе подробнее объяснить "глобальную"
> задачу.

И, наконец, по делу. Разобрался. Была логическая ошибка в скриптовом языке. Дело было не в модальном окне.Зря я грешил на него. Каюсь.
Я вижу меня тут немного не поняли. Наверное, это я виноват, муторно все описал. Просто был конец рабочего дня. Сейчас все перечитал, действительно, немного непонятно.


 
Anatoly Podgoretsky ©   (2006-11-01 08:43) [37]

> LiberlX  (01.11.2006 08:33:36)  [36]

> Я вижу меня тут немного не поняли.

Опять не понимаешь.


 
LiberlX   (2006-11-01 08:49) [38]


> Опять не понимаешь.

Ты сам-то себя понимаешь?


 
сэммиум   (2006-11-01 10:50) [39]

Удалено модератором


 
><CODE></   (2006-11-01 10:52) [40]

Удалено модератором



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

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

Наверх




Память: 0.55 MB
Время: 0.036 c
15-1162385544
Makhanev Alexander
2006-11-01 15:52
2006.11.19
Delphi caption buttons...


15-1162247853
msn777
2006-10-31 01:37
2006.11.19
Ищу компоненты плавающих панелей / окон


2-1162635752
Savek
2006-11-04 13:22
2006.11.19
TQRCompositeReport, количество страниц


2-1162700654
eowl
2006-11-05 07:24
2006.11.19
Совместимость PAnsiChar и String


15-1162179130
Reg1
2006-10-30 06:32
2006.11.19
Как зарегиться на YouTube ?





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