Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1213000469
Alex
2008-06-09 12:34
2008.07.06
216 ошибка


15-1211704569
Kostafey
2008-05-25 12:36
2008.07.06
С днем рождения ! 24 мая


2-1212577251
DON
2008-06-04 15:00
2008.07.06
Вставка хелпа в проект


6-1189925255
Cardinalius
2007-09-16 10:47
2008.07.06
Не возникает Disconnect


3-1201519088
ganda
2008-01-28 14:18
2008.07.06
Table is busy





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский