Информация об изменениях

Сообщение Re[9]: Shareware. Delphi от 14.04.2017 16:27

Изменено 22.04.2019 9:44 deleted2

Re[9]: Shareware. Delphi
Здравствуйте, Grayscaler, Вы писали:

G>Здравствуйте, rean, Вы писали:


R>>Пример обработки одного контрола:


R>>
R>>procedure TMainForm.SomePosEditChange(Sender: TObject);
R>>begin
R>>  if ImmediateChanging then
R>>  begin
R>>    ImmediateChanging := False;
R>>    SomeControllerValue := SomePosUpDown.Position;
R>>    CallBusinessLogicToApplyChangeImmediately;
R>>    CallBusinessLogicToSyncChangeToFormControls;
R>>    ImmediateChanging := True;
R>>  end;
R>>end;
R>>


G>Если коротко, то: "Не делайте так" (C)

G>Тут чисто ошибка проектирования, ни Object Pascal ни VCL никого не принуждают делать именно так.

Нет тут никакой ошибки проектирования. Это ошибка дизайна VCL, вынуждающая делать именно так, чтобы работало как мне надо. Потому что событие изменения значения контрола одновременно возникает и на присваивание и на изменение юзером; а изменение бизнес логики длится не мгновенно, и надо еще опитимизировать код так, чтобы не все менять. Чтобы создать нормальное приложение на дельфе, надо постоянно бороться с ее непродуманным дизайном.

А все почему, потому что Edit.Text := "Cool!!!" — это очень плохая идея.
Re[9]: Shareware. Delphi
deleted