Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];

Вниз

Как в TStringList.AddObject вместо объекта integer засунуть?   Найти похожие ветки 

 
Miwa   (2004-02-20 17:18) [0]

TStringList.AddObject("qwer",pointer(a)) не проканает, поскольку мне не хотелось бы еще где-то хранить инты. Мне это надо для хранения пар ID+значение из запроса в БД.


 
MBo   (2004-02-20 17:21) [1]

У всех проканывает, а у тебя не проканает?
Вопрос задай по-человечески...


 
Guest   (2004-02-20 17:21) [2]

Pointer(Fields[0].AsInteger)


 
miwa   (2004-02-20 17:28) [3]

>>Pointer(Fields[0].AsInteger)
А куда этот Fields[0].AsInteger денется после следующего запроса? Насколько я понял, туда засовывается ссылка на объект, (или на целое число в предложенном варианте).
У меня ТStringList - глобальная переменная, которая заполняется в разных функциях значениями локальных переменных.
Когда функции отработали - переменные освобождаются и получается pointer(пальцем в небо). Или я неправ?


 
pasha_golub   (2004-02-20 17:30) [4]

miwa © (20.02.04 17:28) [3]
Нет, ты прав.


 
MBo   (2004-02-20 17:31) [5]

указатель, ассоциированный со строкой, принимает значение переданного Integer, создается копия. Так что ты неправ.


 
Тимохов   (2004-02-20 17:31) [6]

Ты задачу полнее определи.
Если ты туда засовываешь указатели на объекты, которые потом освобождаешь, то будет пальцем в небо. Если не хочешь в небо, то не освобождай объекты и все.


 
Guest   (2004-02-20 17:32) [7]

[3] miwa © (20.02.04 17:28)

showmessage(
inttostr(
longint(
StringList.Objects[0]
)
)
)


 
Guest   (2004-02-20 17:33) [8]

Кстати,
Pointer это не @ и не Addr


 
miwa   (2004-02-20 17:43) [9]


procedure TForm1.Button1Click(Sender: TObject);
begin
s:=TStringList.Create;
qqq;
showmessage(inttostr(longint(s.Objects[4])));
end;

procedure TForm1.qqq;
var i:integer;
begin
for i:=15 to 25 do
s.AddObject(inttostr(i),pointer(i));
end;

Получаю "19", так что я неправ.
Как все-таки хорошо, когда ты неправ. Ну, хоть иногда.о А теперь самый главный вопросс - А ПОЧЕМУ Я САМ ДО ЭТОГО НЕ ДОДУМАЛСЯ?

Спасибо всем.


 
Guest   (2004-02-20 17:50) [10]

[9] miwa © (20.02.04 17:43)

Наверное, потому что не знал, что переменная типа pointer хранит 4 байта, так же как и longint или integer.



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

Форум: "Основная";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
14-6201
Cosinus
2004-02-11 18:27
2004.03.03
Интересно, это когда-нибудь надоест ? :))))


1-6034
TSLP
2004-02-18 16:50
2004.03.03
Архивация ARJ в программе


1-6155
Серёга
2004-02-19 12:42
2004.03.03
Получение списка всех папкок


6-6176
Checist [root]
2003-12-27 03:04
2004.03.03
Проверка полной загрузки


1-6125
Dysan
2004-01-23 13:18
2004.03.03
никак не могу разобраться с методом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский