Главная страница
    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.45 MB
Время: 0.007 c
8-13328
neodiX
2003-02-20 12:12
2003.06.05
Как с DirectDraw скопировать экран?


1-13184
MegaVolt
2003-05-26 19:28
2003.06.05
Какой класс позволяет отобразить файл в память?


1-13296
DDDeN
2003-05-23 09:38
2003.06.05
Ввод в TEdit только цифры


3-13025
Юрий
2003-05-15 16:36
2003.06.05
Paradox на другой машине


14-13446
Style
2003-05-07 23:29
2003.06.05
Delphi Challenge: Judge Client - програмулька для судейства.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский