Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Ошибку компил выдает


Автор: Budy 9.1.2005, 19:05
:Приветствую
Вот ишбку компилятор выдает в коде:
Код

For I:=1 to 8 do
 [color=red] if TCheckBox(FindComponent('Form1.NB'+IntToStr(I))).Checked then [/color]    
   Size[I]:=128 else Size[I]:=100;

Автор: z-END 9.1.2005, 19:25
какую ошибку?

Автор: Budy 9.1.2005, 19:32
Ну такую с белым крестиком в красном кружочке. Ни кода ошибки ни хрена поянть нельзя

Автор: z-END 9.1.2005, 19:36
красный крестик?! белый кружочек?! это как?! smile
че компилятор пишет-то?

Автор: Alex 9.1.2005, 20:52
Код

var
 i: Integer;
 CB: TCheckBox;
begin
 for i:= 1 to 8 do begin
   CB:= (FindChildControl('CB'+IntToStr(I)) as TCheckBox);
   if Assigned(CB) then begin // Если удалось найти компонент
     if CB.Checked then
       Size[I]:=128
     else
       Size[I]:=100;
   end;
 end;
end;

Автор: Budy 9.1.2005, 21:27
Alex, хорошо!
Теперь уже без ошибки smile
Везде галочки стоят, а весь Size забит значениями "0" - ни "100" ни "120"!
Но почумето он их не находит. ЗЫ.В твоем примере заменил 'CB' на 'NB'.

Автор: Vit 9.1.2005, 21:40
Код

For I:=1 to 8 do
if Form1.FindComponent('NB'+IntToStr(I)) is TCheckBox then
  if (Form1.FindComponent('NB'+IntToStr(I)) as TCheckBox).checked then
    Size[I]:=128 else Size[I]:=100;


FindComponent - метод формы! следовательно если ищестся в другой форме, то надо указывать форрму не в аргументе метода, а применять метод именно той формы где ищется

Автор: Budy 10.1.2005, 21:10
Thanks, ща поглежу

Автор: Budy 10.1.2005, 21:25
Во, класс! Спасибо!

Автор: Unknown_Error 10.1.2005, 21:31
Цитата(Budy @ 9.1.2005, 19:32)
Ну такую с белым крестиком в красном кружочке. Ни кода ошибки ни хрена поянть нельзя

Сорри за smile
Не могу сдержаться от смеха! smile

Автор: Budy 11.1.2005, 11:08
Да ладно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)