Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.48 MB
Время: 0.008 c
11-1190218398
Vladimir Kladov
2007-09-19 20:13
2008.07.13
Версия 2.80


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


3-1201774049
Галинка
2008-01-31 13:07
2008.07.13
Запрос с вычислимым полем (?)


3-1201958594
Lamer666
2008-02-02 16:23
2008.07.13
Как узнать процент заполненности базы данных MSSQL


2-1213586310
НаТаШа
2008-06-16 07:18
2008.07.13
Как в листбоксе можно по быстрому открыть большой файл....





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский