Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

TStrings   Найти похожие ветки 

 
killer ©   (2004-04-06 18:22) [0]

procedure TForm1.Button1Click(Sender: TObject);
var
str: TStrings;
itm: TStringList;
begin
itm:=TStringList.Create;
str:=itm;
str.Add("Test_1");
str.Add("Test_2");
str.Add("Test_3");
str.Add("Test_4");
str.Add("Test_5");
str.Add("Test_6");
str.Add("Test_7");
ListBox1.Items:=itm;
itm.Free;
end;

В ListBox.Item прописываются строки "Test_.." Почему? Мы же не передаем ListBox.Items:=itm; Ктонибудь, объясните мне почему так получается...


 
Тимохов ©   (2004-04-06 18:23) [1]

т.к. str и itm это указатели на один и тот же объект.
присвоение str := itm просто копирует указатели


 
Гаврила   (2004-04-06 18:24) [2]

str:=itm;
потому что str и itm указывают на один и тот же экземпляр класса


 
killer ©   (2004-04-06 18:27) [3]

а вот если вместо ListBox-а была бы какаянибудь третья переменная типа TStrings или TStringList... тогда в нее бы это все записывалось?


 
Тимохов ©   (2004-04-06 18:29) [4]


> killer ©   (06.04.04 18:27) [3]

не путайте переменные и свойства.

str - переменная.
listbox.items - свойство. При присовоении ему значения происходит не просто Items := str, а что-то похожее на это items.assign(str), т.к. копирование значения, а не адреса.


 
killer ©   (2004-04-06 18:34) [5]

Тимохов что-то понятно.... значит если мы присвоим какоенибудь свойство какойнибудь переменной... то в объекте тотже ListBox.Item будет как-бы отображать что происходит с этой переменной? Так?


 
Тимохов ©   (2004-04-06 18:37) [6]

может так, а может и нет - честно скажу не понял утвержения.

большой совет прочесть простую книгу по дельфи. займет от силы неделю, опыта даст немеряно.

если бы это было возможно я бы попытался объяснить что-то тут, но это будет целая книга.


 
Гаврила   (2004-04-06 18:37) [7]

все завилит от реализации
в данном случае
str.Add("Test_6");
str.Add("Test_7");
ListBox1.Items:=itm;

если продолжить дальше
str.Add("Test_8");
str.Add("Test_9"); и т.д, то
содержимое ListBox уже меняться не будет



Страницы: 1 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.024 c
3-1080462762
Хамс
2004-03-28 12:32
2004.04.25
Как запихнуть в Interbase офскую DB изображение ?


11-1042971278
Igit
2003-01-19 13:14
2004.04.25
Горизонтальный скролл в ListBox


8-1074444671
Хой
2004-01-18 19:51
2004.04.25
Рендеринг на рабочем столе (OpenGL)


14-1080824346
Иксик
2004-04-01 16:59
2004.04.25
Еще


8-1071673571
Mantic0re
2003-12-17 18:06
2004.04.25
Быстрое масштабирование изображений с билинейной интерполяцией..