Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.019 c
1-1086672440
BanderLog_t
2004-06-08 09:27
2004.06.20
TreeView с CheckBox


1-1086327501
Sea Eagle
2004-06-04 09:38
2004.06.20
Работа с документом MS Word без установленного Офиса?


1-1086457803
DJ DIZzY
2004-06-05 21:50
2004.06.20
StringGrid


1-1086598594
AnP
2004-06-07 12:56
2004.06.20
Treeview ->Stream->Treeview


1-1086607879
sesh
2004-06-07 15:31
2004.06.20
Запись в текстовый файл в DOS кодировке




   Наверх