Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.19;
Скачать: CL | DM;

Вниз

работа с памятью   Найти похожие ветки 

 
Rel_   (2003-06-05 15:46) [0]

Народ, если не трудно, ответьте на вопрос:
type TMyType = record
a,b : Integer;
c : TList !!!!
end

есть переменная Ist : TMyType; все поля её заполнены, включая c.

Могу ли я сделать сл:
объявить переменную Dest : TMyType, а затем Dest:=Ist;
Переопределена у TList операция присваивания.
Понятно, что я могу обратиться к Dest.a, но могу ли я обратиться к Dest.c.Items[5] и не получить AV


 
Rel_   (2003-06-05 15:49) [1]

Может достаточно просто откопировать кусок памяти, например
что-то вроде ???MemCopy(Addr(Dest), Addr(Ist))- существует ли вообще такая ф-я копирования содержимого по указателю из одного адреса в другой.


 
Palladin ©   (2003-06-05 15:50) [2]

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


 
Vorobyev Sergey   (2003-06-05 15:52) [3]


> Понятно, что я могу обратиться к Dest.a, но могу ли я обратиться
> к Dest.c.Items[5] и не получить AV

А что, проверить долго?


 
Sandman25 ©   (2003-06-05 15:52) [4]

Dest:=Ist;
Эквивалентно
Dest.a:=Ist.a;
Dest.b:=Ist.b;
Dest.c:=Ist.c;
Соответственно после выполнения Ist.c.free
при попытке обратиться к Dest.c.Items[5] может быть AV


 
Skier ©   (2003-06-05 15:56) [5]

>Rel_ (05.06.03 15:46)
Самое главное :
если Dest:=Ist; то скопируется указатель на экземпляр класса, т.е. Dest.c:=Ist.c;
И если для какой-то одной записи потом сделать SomeRec.c.free,
то любое обращение к методам SomeRec.c из других записей даст AV



 
Rel_   (2003-06-05 15:56) [6]

Усё понятно. Спасибо!!!



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

Текущий архив: 2003.06.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
9-60011
Sword-Fish
2003-01-12 23:50
2003.06.19
Работа с ресурсами


14-60392
Страждущий
2003-06-01 16:46
2003.06.19
Интерпретатор формул


1-60127
Yarix
2003-06-06 14:55
2003.06.19
Добавление события к форме


7-60446
Zirus
2003-04-12 15:53
2003.06.19
Чтение двоичных файлов


1-60232
zeppelin
2003-06-05 15:21
2003.06.19
Повернутый шрифт