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

Вниз

Invalid class typecast   Найти похожие ветки 

 
Wish ©   (2004-10-06 14:32) [0]

for i := 0 to Screen.CustomFormCount - 1 do
if Screen.CustomForms[i] is TMessageForm then
  begin
  if (Screen.CustomForms[i] as TMessageForm).ip = ABinding.PeerIP then
    begin
    b1:=true;
    (Screen.CustomForms[i] as TMessageForm).SetFocus;
    (Screen.CustomForms[i] as TMessageForm).RichEdit1.Lines.Add(variable);
    PlaySound("sounds\beep.wav",SND_ASYNC,SND_ASYNC);
  end;


Все копилируется, но при работе прилоджения вот в этой строчке кода появляется ошибка - Invalid class typecast. Вот эта строчка:

(Screen.CustomForms[i] as TMessageForm).RichEdit1.Lines.Add(varible);


 
Digitman ©   (2004-10-06 14:37) [1]


> variable


как объявлен этот идентификатор в программе ?


 
Wish ©   (2004-10-06 14:39) [2]

String


 
Семен Сорокин ©   (2004-10-06 14:44) [3]

Wish ©   (06.10.04 14:39) [2]
уже же ответили что после
(Screen.CustomForms[i] as TMessageForm).SetFocus;
выбранная форма меняет индекс i в Screen, попробуй так:

var
 _fm: TMessageForm;
 

for i := 0 to Screen.CustomFormCount - 1 do
if Screen.CustomForms[i] is TMessageForm then begin
  _fm := TMessageForm(Screen.CustomForms[i]);
  if _fm.ip = ABinding.PeerIP then begin
   b1:=true;
   _fm.SetFocus;
   _fm.RichEdit1.Lines.Add(variable);
   PlaySound("sounds\beep.wav",SND_ASYNC,SND_ASYNC);
  end;
end


 
Суслик ©   (2004-10-06 14:45) [4]


> Wish ©   (06.10.04 14:32)

Я же тебе дал ответ - дело в том, что при setfocus у тебя меняется порядок.
Зачем еще раз спрашивать?


 
Digitman ©   (2004-10-06 14:46) [5]

тогда ты лукавишь
исключение по отказу в приведении типа здесь может возникнуть только на as-операторе, если CustomForms[i] не являет собой класс TMessageForm .. но эта проверка , согласно твоему условию, успешно пройдена ранее - при исполнении is-оператора, вернувшего якобы True


 
Wish ©   (2004-10-06 14:46) [6]

Да почему то той темы найти не мог, нажал показать все а ее нет!


 
Wish ©   (2004-10-06 14:48) [7]

Спасибо огромное, все работает!!!


 
Digitman ©   (2004-10-06 14:48) [8]

точно, упустил из вида ... индекс-то меняется



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

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

Наверх




Память: 0.48 MB
Время: 0.043 c
3-1096454382
leonard
2004-09-29 14:39
2004.10.24
Как отключить пароль в BDE?


1-1097353713
saNat
2004-10-10 00:28
2004.10.24
Количество символов в Memo


1-1096497679
Defunct
2004-09-30 02:41
2004.10.24
Exception: Not enough storage is available to process this ..


14-1096438464
Ozone
2004-09-29 10:14
2004.10.24
Хм... новый вид развода на деньги


11-1081208734
Apollo3z
2004-04-06 03:45
2004.10.24
TKOLScrollBox - Help please...