Форум: "Начинающим";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.045 c