Вниз
Скачать: CL | DM;

Как обратиться к неизвестному экземпляру по индексу?   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.011 c
15-1211893493
ksuha211
2008-05-27 17:04
2008.07.13
вычисления с большими числами


8-1183282179
leonidus
2007-07-01 13:29
2008.07.13
Расчет размеров прямоугольника для функции DrawText


2-1212868121
rena
2008-06-07 23:48
2008.07.13
Интерфейсы


15-1211817107
Константинов
2008-05-26 19:51
2008.07.13
Looking Glass


15-1211982202
@!!ex
2008-05-28 17:43
2008.07.13
Как построить матрицу проекции?




   Наверх