Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.13;
Скачать: 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 вся ветка

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

Наверх




Память: 0.51 MB
Время: 0.018 c
2-1213267781
Rustam
2008-06-12 14:49
2008.07.13
чтение из файла


2-1213107394
Mrak
2008-06-10 18:16
2008.07.13
TEdit


15-1211801480
тимохов
2008-05-26 15:31
2008.07.13
Совсем оффтоп, но на вас вся надежда


2-1213601443
кот
2008-06-16 11:30
2008.07.13
Библиотека с использованием DataModule


15-1212392855
Nous Mellon_
2008-06-02 11:47
2008.07.13
Срочная халтурка для С++ кодера