Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.24;
Скачать: CL | DM;

Вниз

Вопрос про Close   Найти похожие ветки 

 
kiber-pilot ©   (2008-01-29 23:25) [0]

Что будет, если у модальной формы в методе Close написать close?


 
Плохиш ©   (2008-01-29 23:34) [1]

А слабо самому проверить?


 
homm ©   (2008-01-29 23:38) [2]

Переполнение стека?


 
Washington ©   (2008-01-30 11:11) [3]

Подозреваю, что будет close )


 
Ega23 ©   (2008-01-30 11:15) [4]

вот интересно, а как ты собираешься у класса TForm в методе Close вызвать Close?
Чисто технически?
Генофонд полезешь править?


 
Washington ©   (2008-01-30 11:24) [5]


> Ega23 ©   (30.01.08 11:15) [4]
+1
будет жесть, рекурсия :)
Не заметил сразу


 
clickmaker ©   (2008-01-30 12:05) [6]


> kiber-pilot ©   (29.01.08 23:25)
> Что будет, если у модальной формы в методе Close написать
> close?

твой кибер-самолет войдет в штопор


 
Anatoly Podgoretsky ©   (2008-01-30 12:18) [7]

> clickmaker  (30.01.2008 12:05:06)  [6]

Наверно полез править генофонд, чтобы увидеть это.


 
Washington ©   (2008-01-30 13:41) [8]


> Наверно полез править генофонд, чтобы увидеть это.
Бог ему в помощь


 
homm ©   (2008-01-30 13:43) [9]

> [8] Washington ©   (30.01.08 13:41)
> Бог ему в помощь

Сам то не далеко от горша ушел :(


 
Washington ©   (2008-01-30 13:57) [10]


> homm ©   (30.01.08 13:43) [9]

не спорю, но до такого у меня не доходило :)


 
{RASkov} ©   (2008-01-30 14:01) [11]

> [10] Washington ©   (30.01.08 13:57)
> но до такого у меня не доходило :)

еще не вечер :)


 
Washington ©   (2008-01-30 14:14) [12]


> но до такого у меня не доходило :)
...и, надеюсь, не дойдёт :)


 
homm ©   (2008-01-30 14:41) [13]

> [10] Washington ©   (30.01.08 13:57)
> не спорю, но до такого у меня не доходило :)

У тебя еще хуже.


 
Washington ©   (2008-01-30 14:52) [14]


> homm ©   (30.01.08 14:41) [13]

обоснуй


 
homm ©   (2008-01-30 15:00) [15]

> [14] Washington ©   (30.01.08 14:52)

Уже обосновал.
http://delphimaster.net/view/2-1200477368/


 
Washington ©   (2008-01-30 15:14) [16]

А я обосновал, что не хуже


 
kiber-pilot ©   (2008-01-30 20:22) [17]

Самое интересное, что ничего не происходило, работало как и должно работать. Я случайно заметил эту ошибку.


 
Loginov Dmitry ©   (2008-01-31 07:58) [18]

> Я случайно заметил эту ошибку.


А где здесь ошибка? При вызове Close всего-навсего повторно изменяется переменная ModalResult:
 if fsModal in FFormState then
   ModalResult := mrCancel


а уж потом значение переменной проверяется в цикле обработки сообщений данного окна
if ModalResult <> 0
приведет к выходу из цикла и закрытию окна. Никакой рекурсии.


 
KSergey ©   (2008-01-31 09:49) [19]

> Loginov Dmitry ©   (31.01.08 07:58) [18]
> А где здесь ошибка? При вызове Close всего-навсего

А при вызове Close из Close?


 
Ega23 ©   (2008-01-31 10:06) [20]


> А при вызове Close из Close?


Всё ещё не понимаю, каким образом можно вызвать Close из Close без вмешательства в генофонд.


 
Anatoly Podgoretsky ©   (2008-01-31 10:17) [21]

Вполне если владеть ООП


 
Ega23 ©   (2008-01-31 10:44) [22]


> Вполне если владеть ООП


Как???


 
Ega23 ©   (2008-01-31 10:45) [23]


 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   procedure Close;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.Close;
begin
 inherited Close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Close;
end;


Всё равно 1 раз "тот самый Close" вызовется.


 
Anatoly Podgoretsky ©   (2008-01-31 12:03) [24]

> Ega23  (31.01.2008 10:45:23)  [23]

Не так


  TF1 = class(TForm)
  public
    procedure Close; reintroduce; virtual
  end;

  TF2 = class(TF1)
  public
    procedure Close; override
  end;

   procedure TF1.Close;
   begin
      Inherited;
   end;

   procedure TF2.Close;
   begin
      Close;  <- вот оно
   end;


 
Ega23 ©   (2008-01-31 13:55) [25]


> Anatoly Podgoretsky ©   (31.01.08 12:03) [24]


да-а-а...
Снимаю шляпу. До этого не додумался...


 
Anatoly Podgoretsky ©   (2008-01-31 14:36) [26]

> Ega23  (31.01.2008 13:55:25)  [25]

Я спас генофонд!!!



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

Текущий архив: 2008.02.24;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.04 c
4-1183823617
AlexanderMS
2007-07-07 19:53
2008.02.24
Изменение положения ползунка в TrackBar.


15-1200707661
Trial
2008-01-19 04:54
2008.02.24
Как сделать, чтобы много функций работало параллельно?


2-1201806081
Lex-85
2008-01-31 22:01
2008.02.24
Приствоить тест ComboBox в OnChange


15-1201230431
Slider007
2008-01-25 06:07
2008.02.24
С днем рождения ! 25 января 2008 пятница


15-1201140506
O.O
2008-01-24 05:08
2008.02.24
Перевод числа в строку на разных языках





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