- 1
while dlg_SmplSpk.ShowModal = mrOk do ;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+102
while dlg_SmplSpk.ShowModal = mrOk do ;
Узрел такое! Срочно к себе в рецепты прогрессивного программирования!
Сделано это для того, чтобы окно не закрывалось при подтверждении всех сделанных действий.
Закрываться должно только при нажатии кнопочки "Закрыть".
Отсюда непонятен ход мыслей автора сия творения.
StriderMan 11.02.2011 12:23 # +2
хотя нет. нахуй тогда ее закрывать ваще, внутри формы надо обрабатывать в OnCloseQuery
Grizzly 11.02.2011 12:29 # +1
З.Ы. Забыл сказать, что результат ModalResult в дальнейшем, кроме как в этом цикле, больше нигде не нужен.
Ну да, можно и так как вы предложили.
bugmenot 11.02.2011 12:39 # −2
Grizzly 11.02.2011 12:49 # −1
И что вы подразумеваете под словом "диалог"?
Читайте внимательнее "модальная форма"
bugmenot 11.02.2011 13:01 # −1
дельфисты, как всегда, не бачут разницы между типами окон, но называют их всех "формами"
Grizzly 11.02.2011 14:05 # 0
bugmenot 11.02.2011 15:55 # −2
так вот, няша, ShowModal() не вернет управление пока юзер не закроет диалог, нажав кнопку с ModalResult <> 0, а цикл покажет его снова, если для той кнопки ModalResult <> mrOk
TarasB 11.02.2011 15:58 # +2
Это правда.
Какие предъявы?
bugmenot 11.02.2011 16:15 # −1
девочки-блондиночки, вы действительно считаете, что быстро повторно открытое окно эквивалентно незакрытому?
StriderMan 11.02.2011 16:22 # +4
по нажатии ОК оно снова открывается, задумка блять такая
Grizzly 11.02.2011 16:29 # +1
Grizzly 11.02.2011 16:38 # +1
Видимо он один из тех кто так же сделал бы.
А то, что подобный код явно говорит (нет, даже кричит!) нам о том, что в программе точно что-то неверно задумано/сделано/реализовано, его это мало волнует.
Такие работнички как он, решают проблемы поверхностно, так сказать делают заплатки или избавляются от симптомов, а вот глянуть глубже и узреть, что можно избавиться от излишней путаницы в коде (гавнокод одним словом) ему наверно просто лень.
Grizzly 11.02.2011 16:25 # −1
Открываем по-шире глазки и вчитываемся в описание ->
"...Сделано это для того, чтобы окно не закрывалось..."
Об эквивалентности тут никто не говорит. Опять вернулись к методу придумывания неуместного.
Grizzly 11.02.2011 16:23 # +1
Было-тон - еще один показатель ваших умственных способностей.
Ой на смешили! Может это вы писали этот код? Признавайтесь!
Ну вот теперь вы выбрали стратегию капитана очевидность!
Конечно цикл его откроет, об это изначально и идет речь.
Так скажите мне, пожалуйста, зачем закрывать-то это окно?!!
Вы уже показали, что в Delphi опыта у вас нет, а по вашим высказываниям о "дельфистах" можно догадаться, что вы вовсе не относитесь к программистам Delphi. Так если вы не разбираетесь в этом, зачем лезть со своими граблями в чужой огород?!
Да бы пополнить ваш запас знаний, могу посоветовать вам заглянуть в исходники класса TForm и там хорошенько всмотреться в метод Close. По умолчанию для класса TForm статуса fsModal всегда будет возвращаться ModalResult = 2.
Так что не надо тут ни цикла, ни ModalResult = mrOk в обработчике кнопки "Принять". Результат в виде Незакрытого модального Окна (надеюсь так вам понятнее?) при нажатии кнопки "Принять" будет достигнут.
bugmenot 11.02.2011 16:47 # −1
> программистам Delphi
но заметил, что дельфисты опять начали считать себя программистами, LOL
StriderMan 11.02.2011 16:50 # +3
Grizzly 11.02.2011 16:58 # 0
Поздравляю вы настоящий ТРОЛЬ!
Считаю дальней разговор с вами не имеет смысла.
Признать свою тупость вы все равно не сможете.
Зато читающие оценят ваши "умственные" способности.
bugmenot 11.02.2011 17:16 # −1
Конечно, чтобы визуально кликать по формочками и копипастить код вам этого знать не нужно; но слово "тролль" пишется с двумя л.
Grizzly 11.02.2011 17:26 # 0
Я даже знаю как вы это делаете. Загоняете все в какой-нибудь редактор и смотрите где подчеркнуто красненьким. И свои сообщения видимо там же пишете, жаль редактор не подсказывает где запятые ставить надо, а вам его как раз стоит подучить.
З.Ы. Вы просто недостойны второй Л
bugmenot 11.02.2011 18:18 # −1
в ужасе покидает тред
StriderMan 11.02.2011 18:20 # +1
guest 11.02.2011 19:19 # −1
В треде монстры?
PascalGovno 11.02.2011 19:58 # +1
StriderMan 11.02.2011 17:41 # +3
так будет правильнее. толщину какбэ символизирует
StriderMan 11.02.2011 14:56 # +2
bugmenot 11.02.2011 15:57 # 0
StriderMan 11.02.2011 16:13 # 0
StriderMan 11.02.2011 16:37 # 0
Алсо, приятно познакомиться
Lure Of Chaos 11.02.2011 19:05 # 0
StriderMan 11.02.2011 14:58 # 0
Grizzly 11.02.2011 15:00 # 0
C_Plus_Plus_Govno 11.02.2011 12:33 # −3
TarasB 11.02.2011 12:47 # 0
Анонимус 11.02.2011 15:00 # +3
TarasB 11.02.2011 18:03 # 0
Анонимус 11.02.2011 18:14 # 0
StriderMan 11.02.2011 18:20 # −1
Lure Of Chaos 11.02.2011 16:04 # +1
PascalGovno 11.02.2011 16:58 # +1