Странное поведение Ентера либо я чего то не знаю.

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
GAMER
энтузиаст
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина
Контактная информация:

Странное поведение Ентера либо я чего то не знаю.

Сообщение GAMER »

В программе есть такой кусочек:

Код: Выделить всё

procedure TFrmPass.Edit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if Key=VK_RETURN then
begin
 EnterLogin;
 Close;
end;
if Key=VK_ESCAPE then
begin
 Button3Click(Button3);
 exit;
end;
end;   

В процедуре EnterLogin есть вызов MySQL_Real_Connect.
Так вот, при наличии этого вызова (MySQL_Real_Connect) код в EnterLogin исполняется дважды.
Если этот вызов убрать, код выполняется раз, как и должно быть.
Прикол в том, что если VK_RETURN заменить на VK_END, то тоже все нормально, то есть код в EnterLogin выполняется один раз.
Чем Ентер так отличается от других клавиш?
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Ни чем не отличается.
Аватара пользователя
dunin
энтузиаст
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и
Контактная информация:

Сообщение dunin »

Было что-то похожее. Что точно уже не помню. На кнопке ModalResult был назначен - событие дважды отрабатывало.
Аватара пользователя
GAMER
энтузиаст
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина
Контактная информация:

Сообщение GAMER »

Нашел я причину. У меня на кнопку было присвоено эту же процедуру, и она была дефолтной. Вот и срабатывало дважды. Вот только не понимаю, какую зависимость давал МайСКЛ? :roll: Ну да ладно, уже не важно.
Аватара пользователя
dunin
энтузиаст
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и
Контактная информация:

Сообщение dunin »

GAMER писал(а):...на кнопку было присвоено эту же процедуру, и она была дефолтной. Вот и срабатывало дважды....

Ну, можно сказать, угадал. 8)
Аватара пользователя
GAMER
энтузиаст
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина
Контактная информация:

Сообщение GAMER »

Вы угадали, а я полдня угробил на поиски причины :)
SAK
постоялец
Сообщения: 158
Зарегистрирован: 17.02.2006 23:45:14
Откуда: Тим
Контактная информация:

Сообщение SAK »

В большинстве случаев после обработки желательно обнулять Key.
Ответить