Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.018 c
1-13139
Alexander
2003-05-26 08:10
2003.06.05
Как в CheckListBox при разрешённых Grayed итемах программно


3-13077
Pat
2003-05-18 09:24
2003.06.05
DisplayWidth для Lookup поля


1-13225
GenezZ
2003-05-23 04:27
2003.06.05
Сохранение текстового файла..................................


1-13307
Suhomlin
2003-05-25 00:29
2003.06.05
Взаимодействие с Outlook


7-13497
Михан
2003-04-03 14:03
2003.06.05
Скажите пожалуйста как узнать в Delphi какой регистр включен