-
Кто как пишет?
with TMyForm.Create(Applicatio) do
try
....
ShowModal;
...
finally
Free;
end;
или:
with TMyForm.Create(Applicatio) do
try
....
ShowModal;
...
finally
Free;
end;
-
... do
begin
try
...
end;
-
Загадка для продвинутых - "найди три отличия в этих шматках кода")
-
Если сделать отступ блока try после do то скомпиленный код будет работать в полтора раза медленней, поэтому первый вариант ;)
-
> Rouse_ © (16.05.08 17:32) [3]
я так и думал
-
Мне предпочтительней первый вариант.
Только овнером я обычно выбираю другую форму.
-
Была такая хохма (реально была). Два чела в нашей команде (назовем их А и Б) постоянно спорили о том, нужно ли после then писать begin на отдельной строке, или нет.
Как-то А писал DLL и заюзал ShareMem, но забыл, что его нужно указывать первым. Начал отлаживать - естественно, лезут ошибки 216 и 217. Гоняет полдня, уже в мыле весь, ничего понять не может. И говорит Б - слушай, глянь свежим взглядом, может увидишь что. Б отвечает - ладно, иди покури.
Б садится за машину А и в полминуты ошибку вылавливает. Возвращается А из курилки - все работает, как часы. Спрашивает у Б - в чем же было дело?
И тот ему торжественно отвечает - ну сколько раз я тебе говорил, что begin после then надо писать на отдельной строке!!!
Несколько секунд общего молчания - и затем громовой хохот.
:o)
-
with TMyForm.Create(Applicatio) do
ShowModal;
Я так пишу в большинстве случаев
-
> Игорь Шевченко © (16.05.08 18:51) [7]
with и do - лишние.
:о)
-
Юрий Зотов © (16.05.08 18:54) [8]
Во-первых, для ясности кода
фразу TMyForm.Create(Application).ShowModal я буду долго переваривать
Во-вторых, а вдруг потребуется вставить код промеж Create и ShowModal или Free, не дай Аллах, вызывать :)
-
> Игорь Шевченко © (16.05.08 19:03) [9]
Игорь, когда в один ненастный день вдруг забудешь, что ShareMem пишется первым - тогда поймешь, что я был прав.
;o)
-
Юрий Зотов © (16.05.08 19:09) [10]
> Игорь, когда в один ненастный день вдруг забудешь, что ShareMem
> пишется первым
Это вряд ли :)
-
Не зарекайся.
-
> Игорь Шевченко © (16.05.08 18:51) [7]
> with TMyForm.Create(Applicatio) do
> ShowModal;
>
> Я так пишу в большинстве случаев
Даже если учесть, что есть caFree, то всё равно ахтунг.
-
А я видел так: with TMyForm.Create(Self) do; try; ShowModal; finally; Free; end;
Всмысле, в одну строчку, видимо, чтобы сократить количество строк.
-
> чтобы сократить количество строк.
бояцца, как бы у компьютера строчки не кончились? :))
-
Одно время ходил сишный код в виде псевдо графики, там помойму кошка была нарисована))
-
Всегда относящиеся к блоку открывающий/закрывающий оператор пишу на уровне блока, это позволяет всегда видеть, к чему относится блок:
with TForm.Create(...) do
try
finally
end;
-
причем в обязательном порядке обрамляю блоки операторами
begin..end;
:
with TForm.Create(...) do
begin
try
finally
end;
end;
-
Умище (16.05.08 21:53) [18]
Все понимаю, а зачем try ... end еще в begin..end заворачивать ?