1 (edited by iacovlogica 2017-08-20 21:52:28)

Topic: Флажок падает

Если кликнуть по второму флажку программа падает.
Версия 3.5 Win7x64
http://c2n.me/3N5d4pZ
 

Имя события проблемы:    APPCRASH
  Имя приложения:    123.exe
  Версия приложения:    1.0.0.0
  Отметка времени приложения:    59635e35
  Имя модуля с ошибкой:    ntdll.dll
  Версия модуля с ошибкой:    6.1.7601.23796
  Отметка времени модуля с ошибкой:    59028db3
  Код исключения:    c0000005
  Смещение исключения:    0002ed2a
  Версия ОС:    6.1.7601.2.1.0.768.3
  Код языка:    1049
  Дополнительные сведения 1:    e8ad
  Дополнительные сведения 2:    e8adce1c2b9e7be834b4063ac3c53863
  Дополнительные сведения 3:    e8ad
  Дополнительные сведения 4:    e8adce1c2b9e7be834b4063ac3c53863

Post's attachments

Attachment icon Новая папка (2).7z 272.99 kb, 351 downloads since 2017-08-20 

Re: Флажок падает

Этот код вызывает бесконечный цикл, т.к. при изменении состояния компонента срабатывает событие OnClick, попробуйте так

procedure Form1_CheckBox1_OnClick (Sender: string);
begin
    if Form1.CheckBox1.State = cbChecked then Form1.CheckBox2.State := cbUnchecked else Form1.CheckBox2.State := cbChecked;
end;

procedure Form1_CheckBox2_OnClick (Sender: string);
begin
    if Form1.CheckBox2.State = cbChecked then Form1.CheckBox1.State := cbUnchecked else Form1.CheckBox1.State := cbChecked;
end;
Dmitry.

3 (edited by iacovlogica 2017-08-21 18:22:09)

Re: Флажок падает

СПС понял .
...привык события описывать сам .В справке, имхо, прояснить сей момент надо.

Re: Флажок падает

А, собственно, не стоит ли для компонента Комбобокс прописать процедуру OnChange? При показе формы провожу проверку состояний КомбоБоксов с последующим переключением в нужное положение, а в результате получаю срабатывание по OnClick'у, хотя для него совсем другие планы...

Re: Флажок падает

collagen wrote:

А, собственно, не стоит ли для компонента Комбобокс прописать процедуру OnChange? При показе формы провожу проверку состояний КомбоБоксов с последующим переключением в нужное положение, а в результате получаю срабатывание по OnClick'у, хотя для него совсем другие планы...

Компонент ComboBox имеет событие OnChange, или возможно я не понял вопроса.

Dmitry.

Re: Флажок падает

Неправильно назвал компонент, имел ввиду ЧекБокс, извините.
1. При показе формы происходит срабатывание процедуры ЧекБокса - OnClick.
2. В проекте имеется несколько ЧекБоксов, состояние одного может зависеть от состояния другого. Также есть проверка начального состояния и по OnClick. А процедуры OnChange нету...

Re: Флажок падает

collagen
К сожалению не могу добавить данное событие, т.к. это стандартный Windows компонент, он так был спроектирован.


Просто представьте что событие OnClick это OnChange, т.к. событие OnClick срабатывает всегда, независимо от того, пользователь ли изменил его состояние, либо с помощью скрипта.


Используйте событие OnKeyUp и OnMouseUp чтобы отловить событие, когда именно пользователь изменяет состояние CheckBox-а

Dmitry.

Re: Флажок падает

Понял. Спасибо.