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

Вниз

216 ошибка   Найти похожие ветки 

 
Alex   (2008-06-09 12:34) [0]

День добрый! Есть такой код
var
 comb:TComboBox;
 i:integer;
 mas: array[1..32] of integer;
begin
for I := 1 to 32 do
comb:=Form1.Findcomponent("ComboBox"+IntToStr(i)) as TComboBox;вот здесь возникает ошибка runtime error 216 at...
mas[I] := IfThen(Comb.seltext="1",1,0);
end;
Вопрос что я делаю не так и как сделать правильно?
Спасибо


 
Ega23 ©   (2008-06-09 12:36) [1]


> Form1.Findcomponent("ComboBox"+IntToStr(i)) as TComboBox


 
Olegz77 ©   (2008-06-09 12:42) [2]

1. У тебя в цикле выполняются два оператора:
comb := ....
и
mas[I] := ...
надо добавить begin после for I := 1 to 32 do и end; после mas[I]
2. перед mas[I] := ... надо поставить проверку if comb <> nil then mas[I] := ...


 
Alex   (2008-06-09 13:04) [3]


> 2. перед mas[I] := ... надо поставить проверку if comb <>
> nil then mas[I] := ...
>

проверку ставил, а ошибка возникает


 
Ega23 ©   (2008-06-09 13:05) [4]

цикл у тебя из одной строчки. А надо из трёх.


 
Olegz77 ©   (2008-06-09 13:07) [5]


var
comb:TComboBox;
i:integer;
mas: array[1..32] of integer;
begin
 for I := 1 to 32 do
 begin
 comb:=Form1.Findcomponent("ComboBox"+IntToStr(i)) as TComboBox;
 if comb <> nil then
   mas[I] := IfThen(Comb.seltext="1",1,0);
 end;
end;


 
Alex   (2008-06-09 13:08) [6]

Ок сделал так, а ошибка есть
for I := 1 to 32 do
begin
comb:=Form1.Findcomponent("ComboBox"+IntToStr(i)) as TComboBox;
if comb<>nil then mas[I] := IfThen(Comb.seltext="1",1,0);
end;


 
Palladin ©   (2008-06-09 13:10) [7]

ты конечно уверен, что Form1 у тебя существует?


 
Alex   (2008-06-09 13:13) [8]


> ты конечно уверен, что Form1 у тебя существует?

Form1 существует


 
Palladin ©   (2008-06-09 13:14) [9]

если у тебя есть в файле Unit1
Var
Form1:TForm1;

это еще далеко не значит, что идентификатор Form1 содержит то, что ты от него ожидаешь


 
clickmaker ©   (2008-06-09 13:18) [10]

э... а в отладчике-то что показывает?


 
Alex   (2008-06-09 13:31) [11]


> э... а в отладчике-то что показывает?
>

Вот
Tcomponent:findcomponent:
.
0419E00 837f1000 cmp dword ptr [edi+$10],$00
.

> если у тебя есть в файле Unit1
> Var
> Form1:TForm1;
>
> это еще далеко не значит, что идентификатор Form1 содержит
> то, что ты от него ожидаешь

>

Ок но в objectTreeView Form1 есть со всеми объектами


 
clickmaker ©   (2008-06-09 13:33) [12]

> Ок но в objectTreeView Form1 есть со всеми объектами

а это здесь причем?
TForm1.Create или Application.CreateForm(Form1 есть?


 
Ega23 ©   (2008-06-09 13:35) [13]


> Ок но в objectTreeView Form1 есть со всеми объектами
>


Он в ран-тайме создан?


 
Palladin ©   (2008-06-09 13:36) [14]

не важно, создан оно или нет, вопрос в том, существует ли оно во время исполнения твоего суперкода...


 
Плохиш ©   (2008-06-09 13:41) [15]


> Alex   (09.06.08 13:13) [8]
>
> > ты конечно уверен, что Form1 у тебя существует?
>
> Form1 существует

Какого-нибуть комбобокса несуществует.


 
Alex   (2008-06-09 13:45) [16]


> не важно, создан оно или нет, вопрос в том, существует ли
> оно во время исполнения твоего суперкода...

Мой косяк в этом все и дело. Спасибо


 
Ega23 ©   (2008-06-09 13:49) [17]


> не важно, создан оно или нет,


Это вопрос был не "Как создан объект?", а "Создан ли объект в ран-тайм?"


 
Anatoly Podgoretsky ©   (2008-06-09 13:56) [18]

> Palladin  (09.06.2008 13:36:14)  [14]

И еще вопрос, а сколько экземпляров TForm1 в программе.



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

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

Наверх




Память: 0.5 MB
Время: 0.018 c
2-1212701907
alex-drob
2008-06-06 01:38
2008.07.06
Как проверять установлен флаг или нет


2-1212838230
redlord
2008-06-07 15:30
2008.07.06
почему на двух компах Tbitbtn и tbutton отображаются по разному


15-1211389310
ja-maik-a
2008-05-21 21:01
2008.07.06
Обоснования выбора Delphi


2-1212608338
kami
2008-06-04 23:38
2008.07.06
Как организовать одновременное чтение из COM-порта


3-1201166415
Max
2008-01-24 12:20
2008.07.06
работа с Excel