Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];
ВнизTstringList.AddObject Найти похожие ветки
← →
webpauk (2006-08-07 15:42) [0]Как в TstringList.Item.AddObject засунуть переменную типа String?
TstringList.Item.AddObject(fText, Tobject(fStr))
- запихивает, но при чтении TstringList.Items.Objects[N] - выдает кракозябры
← →
clickmaker © (2006-08-07 15:49) [1]память надо в куче выделять
GetMem или AllocMem
var s: PChar;
s := AllocMem(200);
AddObject(fText, TObject(s));
потом не забыть FreeMem сделать
← →
Romkin © (2006-08-07 15:49) [2]Угу. fStr наверно уже не существует при чтении? Может и AV выдать :)
string - объект с регулируемым временем жизни, а когда ты его преобразуешь к типу TObject - Delphi считает, что ты знаешь, что делаешь. И не учитывает эту ссылку. И когда все ссылки на эту строку уходят из области видимости - память освобождается. :)
← →
Сергей М. © (2006-08-07 15:50) [3]Показывай как читаешь ..
← →
StriderMan © (2006-08-07 15:50) [4]может так прокатит?
TstringList.Item.AddObject(fText, Tobject(@fStr[1]))
...
PChar(..StringList.Items.Objects[n])
← →
webpauk (2006-08-07 15:54) [5]
> Сергей М. © (07.08.06 15:50) [3]
fS:=String(ComboBox1.Items.Objects[ComboBox1.ItemIndex])
← →
webpauk (2006-08-07 15:57) [6]а вообще можно создать class с единственным свойством типа String - и проблемы нет
← →
StriderMan © (2006-08-07 15:59) [7]
> webpauk (07.08.06 15:57) [6]
верно. и никаких танцев с бубном. только потом не забудь все объекты разрушить.
Правда памяти такая система поболее скушает.
← →
Сергей М. © (2006-08-07 16:00) [8]
> webpauk (07.08.06 15:54) [5]
Не надо гнать пургу.
Это
procedure TftmMain.Button1Click(Sender: TObject);
var
stringList: TStringList;
fText, fStr: String;
begin
fText := "fText";
fStr := "fStr";
stringList := TStringList.Create;
stringList.AddObject(fText, Tobject(fStr));
Showmessage(String(stringList.Objects[0]));
end;
100%-но работает.
Все остальное - к телепатам.
← →
clickmaker © (2006-08-07 16:02) [9]
> Сергей М. © (07.08.06 16:00) [8]
фокусник, однако )
не вышел за пределы видимости функции, вот ссылочка и жива.
А в любом другом месте Objects[0] будет указывать на битую область памяти.
см. [1] и не надо лохматить бабушку
← →
Сергей М. © (2006-08-07 16:06) [10]
> clickmaker © (07.08.06 16:02) [9]
>
>
> фокусник, однако )
А нафиг заниматься телепатией ?)
> см. [1] и не надо лохматить бабушку
Не надо тренировать телепатор подобным образом)
Ибо развращает автора)
← →
Сергей М. © (2006-08-07 16:08) [11]
> clickmaker © (07.08.06 16:02) [9]
И про время жизни тоже не надо бабушку лохматить - мне это известно не хуже чем тебе)
← →
clickmaker © (2006-08-07 16:29) [12]
> Сергей М. © (07.08.06 16:06) [10]
причем тут телепатия, не асилил... ну да ладно )
← →
Сергей М. © (2006-08-07 17:08) [13]
> clickmaker © (07.08.06 16:29) [12]
> не асилил
В словаре "падонкаф" оно фигурирует как "ниасилил" (с)
Ну да ладно)
← →
clickmaker © (2006-08-07 17:10) [14]
> В словаре "падонкаф" оно фигурирует как "ниасилил"
Гы.. я тока учусь ))
← →
Сергей М. © (2006-08-07 17:17) [15]
> clickmaker © (07.08.06 17:10) [14]
> Гы.. я тока учусь ))
Не стОит.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c