![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Чертовщина с 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]Ну да! Я ламер, это же указатель!
А как сделать, чтобы такая система работала?
Помогите!