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

Вниз

Чертовщина с TStringList.Objects   Найти похожие ветки 

 
TEXHAPb   (2004-06-08 14:25) [0]

Пример:

  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 присваивать константу, то всё работает отлично. В чем здесь чертовщина?


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

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


 
MBo ©   (2004-06-08 14:35) [2]

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


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

UniqueString?


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

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

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


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

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

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


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

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


 
TUser ©   (2004-06-08 19:10) [7]

PChar?


 
Mim1 ©   (2004-06-08 20:16) [8]

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


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

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


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

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


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


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


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



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

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

Наверх




Память: 0.49 MB
Время: 0.037 c
11-1075368354
Ал
2004-01-29 12:25
2004.06.20
OnPaint у панели TKOLTabControl


14-1086099699
YurikGL
2004-06-01 18:21
2004.06.20
Где бы про делфи почитать


14-1086023117
Knight
2004-05-31 21:05
2004.06.20
Почему в играх компьютерные напарники такие тупые?


1-1086706135
hgd
2004-06-08 18:48
2004.06.20
Перевод цветов


3-1085643217
Kraw
2004-05-27 11:33
2004.06.20
Программирование TDBGrid