Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему получается исключение?


ЮрийК ©   (2004-08-16 19:27:00) 

"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" получаю исключение, а с оным всё нормально. Почему?


TUser   (2004-08-16 21:44:00) [1]

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


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

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

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


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

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

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


Fay   (2004-08-16 21:17:00) [4]

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


Fay   (2004-08-16 21:11:00) [5]

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


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

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

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


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

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

полная чушь.


TUser   (2004-08-16 21:06:00) [8]

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо