Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Вниз

Как получить фокус ввода, при 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
6-13347
Gliser
2003-04-04 09:54
2003.06.05
Еще раз на счет Сокет Сервера


14-13435
Jiming
2003-05-19 16:10
2003.06.05
Експерт а VSS для


3-13047
Silver_
2003-05-15 15:11
2003.06.05
Как узнать что текущую запись нельзя редактировать


9-12990
The_Vizit00r
2002-12-27 13:03
2003.06.05
Народ подскажите, где найти исходник


4-13522
alexsc
2003-04-07 11:31
2003.06.05
отключение windows клавиш





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский