Форум: "Начинающим";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];
ВнизКак обратиться к неизвестному экземпляру по индексу? Найти похожие ветки
← →
Zonder2008 (2008-06-15 16:55) [0]есть скажем 10 Мемо, как сделать memo[i].lines.Add("");
← →
Renegat (2008-06-15 16:57) [1]создай массив
memo: array [1..10] of TMemo;
← →
Zonder2008 (2008-06-15 17:15) [2]мне нужно не рантайм создавать а в экземпляры, которые при дизайне созданы были
← →
Германн © (2008-06-15 17:44) [3]В FormCreate
Memo[1]:=Memo1;
Memo[2]:=Memo2;
и так все 10;
← →
Loginov Dmitry © (2008-06-15 18:01) [4](Form1.FindComponent("Memo" + IntToStr(I)) as TMemo).Lines.Add("");
← →
Игорь Шевченко © (2008-06-15 19:19) [5]
> (Form1.FindComponent("Memo" + IntToStr(I)) as TMemo).Lines.
> Add("");
Где в этом коде ошибка ?
← →
Smile (2008-06-15 19:23) [6]Куда-то пропали индексы у Memo:)
← →
Anatoly Podgoretsky © (2008-06-15 19:36) [7]> Smile (15.06.2008 19:23:06) [6]
Обратись в уголовный розыск.
← →
Loginov Dmitry © (2008-06-15 20:00) [8]> Где в этом коде ошибка ?
Вам виднее.
← →
TForumHelp © (2008-06-15 20:05) [9]
> > (Form1.FindComponent("Memo" + IntToStr(I)) as TMemo).Lines.
> > Add("");Где в этом коде ошибка ?
а вот здесь: (Form1.FindComponent("Memo" + IntToStr(I)) as TMemo).Lines.Add(""); если не ошибаюсь.
← →
Leonid Troyanovsky © (2008-06-15 21:07) [10]
> TForumHelp © (15.06.08 20:05) [9]
> а вот здесь: (Form1.FindComponent("Memo" + IntToStr(I))
> as TMemo).Lines.Add(""); если не ошибаюсь.
Если ошибка одна, то это Form1.
Если допустимо более, то это отсутствие проверки nil.
--
Regards, LVT.
← →
Anatoly Podgoretsky © (2008-06-15 21:47) [11]> Leonid Troyanovsky (15.06.2008 21:07:10) [10]
Леонид проверка на nil не обязательно, поскольку есть предикат AS
← →
MsGuns © (2008-06-15 23:25) [12]>Loginov Dmitry © (15.06.08 18:01) [4]
>(Form1.FindComponent("Memo" + IntToStr(I)) as TMemo).Lines.Add("");
У Архангельского позаимствовал или сам изобрел ?
← →
Loginov Dmitry © (2008-06-15 23:55) [13]> Если ошибка одна, то это Form1.
Компилятор не ругается! Какая же здесь ошибка? Указанием "Form1" я лишь подчеркнул, что метод FindComponent() следует вызывать в данном случае именно у формы.
> У Архангельского позаимствовал или сам изобрел ?
Это "изобретение" старо как мир. Теперь видимо и Вы о нем узнали. Читайте в справке про FindComponent().
← →
Leonid Troyanovsky © (2008-06-15 23:56) [14]
> Anatoly Podgoretsky © (15.06.08 21:47) [11]
> Леонид проверка на nil не обязательно, поскольку есть предикат
> AS
Анатолий, от nil не спасает, бо as его допускает.
--
Regards, LVT.
← →
Anatoly Podgoretsky © (2008-06-16 00:07) [15]> Leonid Troyanovsky (15.06.2008 23:56:14) [14]
Не буду проверять, поскольку так писать никогда не буду.
← →
Германн © (2008-06-16 01:21) [16]
> Leonid Troyanovsky © (15.06.08 23:56) [14]
>
>
Вот и советуй после этого читать справку.with TEdit(FindComponent(NamePrefix + IntToStr(i))) do
begin
Left := 10;
Top := i * 20;
Parent := self;
end;
Д6.
Пример из справки я конечно урезал. Но "в рамках данной конференции".
:(
← →
Игорь Шевченко © (2008-06-16 10:47) [17]Leonid Troyanovsky © (15.06.08 23:56) [14]
> Анатолий, от nil не спасает, бо as его допускает.
Вот же как интересно: Код реализации _AsClass на Pure Pascal не допускает
{$IFDEF PUREPASCAL}
begin
Result := Child;
if not (Child is Parent) then
Error(reInvalidCast); // loses return address
end;
{$ELSE}
а действительная реализация на ассемблере
TEST EAX,EAX
JE @@exit
допускает.
Кому верить ?
← →
Anatoly Podgoretsky © (2008-06-16 11:45) [18]> Игорь Шевченко (16.06.2008 10:47:17) [17]
Хочешь огорчу?
Результат obj as xxx будет разный в зависимости от версии Дельфи.
← →
Игорь Шевченко © (2008-06-16 12:00) [19]Anatoly Podgoretsky © (16.06.08 11:45) [18]
Я по 2006-й смотрел, других у меня нету.
Впрочем, я так тоже не пишу, поэтому особенно не огорчаюсь.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.006 c