Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Почему получается исключение?   Найти похожие ветки 

 
ЮрийК ©   (2004-08-16 19:27) [0]

"var
 FormReminder: TFormReminder;

implementation

{$R *.DFM}

 procedure TFormReminder.ShowReminder(const num: Integer);
 begin
   if (FormReminder = nil) then
     Application.CreateForm(TFormReminder, FormReminder);
   with FormReminder do begin
     case num of
       1:
       begin
         re.Text := Msg1;
       end;
       2:
       begin
         re.Text := Msg2;
       end;
       3:
       begin
         re.Text := Msg3;
       end;
     end;
     ShowModal;
   end;
   FormReminder.Free;
   FormReminder := nil;
 end;
end.
"

Без "with FormReminder do" получаю исключение, а с оным всё нормально. Почему?


 
ламер ©   (2004-08-16 19:30) [1]

потому что при вызове TFormReminder.ShowReminder форма ещё не создана и Self = nil.


 
TUser ©   (2004-08-16 21:06) [2]

потому что num - Integer, а case можно писать только с перечисляемыми типами и всякими byte/chortint


 
ламер ©   (2004-08-16 21:08) [3]

TUser ©   (16.08.04 21:06) [2]
потому что num - Integer, а case можно писать только с перечисляемыми типами и всякими byte/chortint

полная чушь.


 
Fay ©   (2004-08-16 21:11) [4]

Чушь не полная, а частичная 8)
TUser просто забыл, что Integer - очень даже перечисляемый тип


 
Андрей Сенченко ©   (2004-08-16 21:11) [5]

ламер ©   (16.08.04 21:08) [3]
полная чушь.

Работающий пример с не-opdinal типом приведете ?


 
Fay ©   (2004-08-16 21:17) [6]

chortint - это по-французски, что-ли?


 
ламер ©   (2004-08-16 21:22) [7]

> Андрей Сенченко ©   (16.08.04 21:11) [5]

если вы расскажете мне, что такое не-opdinal, то попытаюсь. но по-моему, и так понятно, что именно я имел в виду в 3-м сообщении. а именно:
1. integer - это ordinal-тип;
2. результатом использования case с не-ordinal"ом, будет ошибка времени компиляции, но никак не исключение.


 
Андрей Сенченко ©   (2004-08-16 21:24) [8]

ламер ©   (16.08.04 21:22) [7]

Собственно в [4] суть ответа. Не чушь, а просто ошибка.


 
TUser ©   (2004-08-16 21:44) [9]

Да, простите. Лоханулся.



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.041 c
4-1089823106
webpauk
2004-07-14 20:38
2004.08.29
WM_MENUSELECT


9-1084221010
Werwolf
2004-05-11 00:30
2004.08.29
Ворпос на засыпку....


14-1091985919
AlexG
2004-08-08 21:25
2004.08.29
Говорят, технология ActiveX устарела


6-1088326312
Oleg
2004-06-27 12:51
2004.08.29
Порты в Windows 9x, NT, XP


1-1092306205
Cosinus
2004-08-12 14:23
2004.08.29
Поиск в бинарном файле по маске