Текущий архив: 2003.06.05;
Скачать: CL | DM;
Вниз
Как получить фокус ввода, при exception? Найти похожие ветки
← →
Flex (2003-05-25 01:39) [0]Подскажите пожалуйста, как получить ссылку на объект, который вызвал исключительную ситуацию.
Предположим, что в (edMeanTime2_1.Text) я ввел текст, вместо числового значения,
при обработке исключительной ситуации появиться сообщение "Ошибка ввода данных",
как сделать так, чтобы фокус ввода (SetFocus) перешёл на (edMeanTime2_1.Text).
Если другой TEdit, то ссылка должна быть на него.
try
Lambda:=1/StrToFloat(edInputTime.Text);
Lambda1_1:=1/StrToFloat(edMeanTime1_1.Text);
Lambda2_1:=1/StrToFloat(edMeanTime2_1.Text);
Lambda1_2:=1/StrToFloat(edMeanTime1_2.Text);
Lambda2_2:=1/StrToFloat(edMeanTime2_2.Text);
Float:=StrToInt(edFloat.Text);
Quantity:=StrToInt(edQuantity.Text);
Machine1Pnlty:=StrToFloat(edMachine1Pnlty.Text)/100;
Machine2Pnlty:=StrToFloat(edMachine2Pnlty.Text)/100;
except
//как получить фокус ввода, компонента, на котором была вызвана
//исключительная ситуация.
MessageBox(Form1.Handle,"Ошибка ввода данных",MB_SYSTEMMODAL+MB_OK+MB_ICONERROR);
Заранее благодарен.
← →
Palladin (2003-05-25 01:45) [1]слишком много хочешь
← →
jack128 (2003-05-25 01:54) [2]А в чем проблема?
var con : TWinControl;
try
con := edInputTime;
Lambda:=1/StrToFloat(edInputTime.Text);
con := edMeanTime1_1;
Lambda1_1:=1/StrToFloat(edMeanTime1_1.Text);
con := edMeanTime2_1;
Lambda2_1:=1/StrToFloat(edMeanTime2_1.Text);
...
except
MessageBox(Form1.Handle,"Ошибка ввода MB_SYSTEMMODAL+MB_OK+MB_ICONERROR);
con.SetFocus;
end;
← →
Palladin (2003-05-25 02:00) [3]это применительно к приведенному коду, на самом деле исключение которое может возникнуть может быть никак не связано ни с одним из обьектов...
← →
jack128 (2003-05-25 02:15) [4]ну дык соответсвующим образом менять код :
con := edInputTime;
Lambda:=1/StrToFloat(edInputTime.Text);
con := edMeanTime1_1;
Lambda1_1:=1/StrToFloat(edMeanTime1_1.Text);
con := nil;
...// Здесь код с возножными исключениями, не связанными с вводом данных
...
except
if Assigned(con) then con.SetFocus;
end;
Вобщем не лениться писать ручками, и все будет работать -)
← →
NailS (2003-05-25 12:34) [5]Может проще проверять корректность ввода на этапе ввода?
OnChange OnKeyPress?
Sender и будет твой компонент.
Страницы: 1 вся ветка
Текущий архив: 2003.06.05;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.007 c