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

Вниз

Преобразование типов (record<->pointer)   Найти похожие ветки 

 
SAVage ©   (2005-02-23 14:08) [0]

Столкнулся с такой проблемой. Нужно в TList добавить добавить элемент типа - запись, но т.к. он хранит указатели, то естественно нужно преобразовать тип. Пытался таким образом Pointer(..). Выдает ошибку.
Буду очень признателен за любую помощь.


 
Чапаев ©   (2005-02-23 14:11) [1]

MyList.Add(@MyRecord);
...
MyRecord:=TMyRecord(MyList[0]^);


 
DiamondShark ©   (2005-02-23 14:11) [2]

Размещать записи в динамической памяти.
Только освобождать не забывать.


 
DiamondShark ©   (2005-02-23 14:13) [3]


> Чапаев ©   (23.02.05 14:11) [1]

Угу. И так семь раз.
Да ещё для локальной переменной.
;)


 
Чапаев ©   (2005-02-23 14:30) [4]

> Угу. И так семь раз.
> Да ещё для локальной переменной.
Ну я специфику задачи не знаю...


 
SAVage ©   (2005-02-23 15:02) [5]

Всем спасибо,заработало. Я завел дин. массив, а в Tlist храню указатели на его элементы.
У меня еще один вопрос, при сортировке Тлиста возникает ошибка!
Вот код
MyList.Sort(Compare);

function Compare(Item1,Item2:Pointer): integer;//1
var a,b: Trecord;//2
begin//3
a := Trecord(Item1^); //4
b := Trecord(Item2^);//5
Result := CompareText(a.string1,b.string2);//6

end;
во время выполнения возникает исключение в строке 4. Причем не сразу, а со второго захода в эту функцию. С чем это может быть связано?


 
Sandman25 ©   (2005-02-23 15:05) [6]

[5] SAVage ©   (23.02.05 15:02)
>Я завел дин. массив, а в Tlist храню указатели на его элементы.

При добавлении элементов в дин. массив он может быть перенесен в другую область памяти. Надежнее хранить индексы.


 
Юрий Зотов ©   (2005-02-23 15:09) [7]

> SAVage ©   (23.02.05 15:02) [5]

> Я завел дин. массив, а в Tlist храню указатели на его
> элементы.

Зачем чесать левое ухо правой рукой? Чем не устраивают решения [1] и [2]?

А если так уж хочется иметь динамический массив, то тогда зачем нужен еще и TList?



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

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

Наверх





Память: 0.46 MB
Время: 0.036 c
1-1108584943
TimOnik
2005-02-16 23:15
2005.03.06
Проблема со Stringgrid ом


14-1108381409
Игорь нтк
2005-02-14 14:43
2005.03.06
Посоветуйте литературу


1-1108654275
Ji
2005-02-17 18:31
2005.03.06
Формат даты и времени


1-1108928714
ionn
2005-02-20 22:45
2005.03.06
TXMLDocument. Вылетает ошибка при завершении программы


1-1109027829
turonix
2005-02-22 02:17
2005.03.06
Как отчистить компонент TreeView?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский