Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чертовщина с TStringList.Objects [D6, Win2k]


TEXHAPb ©   (2004-06-08 14:25:00) 

Пример:

  qService.SQL.Text:='SELECT name, telephone FROM telephone_list ';
  qService.Open;
  while not qService.Eof do
   begin
    S:=qService.FieldByName('telephone').AsString;
    //S:='aaa';
    cbx1Number.Items.AddObject(qService['name'],TObject(S));
    qService.Next;
   end;
  ShowMessage(string(cbx1Number.Items.Objects[0]));


При этом ShowMessage выводит ерунду. Если S присваивать константу, то всё работает отлично. В чем здесь чертовщина?


Семен Сорокин   (2004-06-09 08:50:00) [1]


> Юрий Федоров ©   (08.06.04 22:22) [10]
> Только не NewStr а StrNew
> и соответственно StrDispose
> :-)


ну NewStr и DisposeStr в D7 есть тоже :)


Юрий Федоров   (2004-06-08 22:22:00) [2]

Только не NewStr а StrNew
и соответственно StrDispose
:-)


Юрий Федоров   (2004-06-08 22:20:00) [3]

Нафига объект, если есть вариант Семен Сорокин ©   (08.06.04 15:23) [6]


Mim1   (2004-06-08 20:16:00) [4]

Создайте обьект с одним свойством - строка. Грамаздко зато расширяемо, потом можно будет добавить новых свойств.
Не забывайте что обьект потом надо будет уничтожить.


TUser   (2004-06-08 19:10:00) [5]

PChar?


Семен Сорокин   (2004-06-08 15:23:00) [6]

NewStr поможет, но надо незабывать и про DisposeStr когда строки не нужны.


TEXHAPb   (2004-06-08 15:12:00) [7]

Может Initialize(S) поможет?
Но с ним всё равно что-то не так.

UniqueString? - как его здесь применять?


TEXHAPb   (2004-06-08 15:11:00) [8]

Может Initialize(S) поможет?
Но с ним всё равно что-то не так.

UniqueString? - как его здесь применять?


DieHard   (2004-06-08 14:42:00) [9]

UniqueString?


MBo   (2004-06-08 14:35:00) [10]

в цикле ты добавляешь указатель на строку.
В следующей итерации используется та же самая строка, она перераспределяется (указывает уже на другую область памяти) - а предыдущее Objects указывает на мусор (ведь механизм подсчета ссылок обойден)


TEXHAPb   (2004-06-08 14:33:00) [11]

Ну да! Я ламер, это же указатель!
А как сделать, чтобы такая система работала?
Помогите!


Наверх

Титульная страница Поиск, карта сайта Написать письмо