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

Вниз

Как быстро скопировать record ?   Найти похожие ветки 

 
AnEnd   (2007-01-10 02:35) [0]

Удалено модератором
Примечание: Восстановление закрытой ветки


 
DevilDevil ©   (2007-01-10 02:45) [1]

самый быстрый способ - самый банальный:

RecVar1 := RecVar2;


 
Германн ©   (2007-01-10 03:02) [2]


> Как быстро скопировать record ?
>
> AnEnd   (10.01.07 02:35)
>
> К какому выводу то пришли?
> В общем нельзя скопировать?

В общем можно, но сложно :)
Лучше конкретно, а не в общем :)


 
Gero ©   (2007-01-10 04:43) [3]

> К какому выводу то пришли?

Пока ни к какому не пришли.


 
Gydvin ©   (2007-01-10 06:40) [4]


> самый быстрый способ - самый банальный:
>
> RecVar1 := RecVar2;


Кстатит я тоже копировал прямым присваиванием, и у меня сложилось впечатление, когда сложный record, что-то подглючивает, происходит потеря данных. Или может у меня глюки?


 
AnEnd   (2007-01-10 07:19) [5]


> Gero ©   (10.01.07 04:43) [3]
> > К какому выводу то пришли?
> Пока ни к какому не пришли.


А чего тему закрыли тогда?
http://delphimaster.net/view/2-1168229678/


> Gydvin ©   (10.01.07 06:40) [4]
> Кстатит я тоже копировал прямым присваиванием, и у меня
> сложилось впечатление, когда сложный record, что-то подглючивает,
>  происходит потеря данных. Или может у меня глюки?


А в этом случае разве не только указатель копируется?


 
Loginov Dmitry ©   (2007-01-10 07:48) [6]

> Кстатит я тоже копировал прямым присваиванием, и у меня
> сложилось впечатление, когда сложный record, что-то подглючивает,
> происходит потеря данных...


А сможешь привести соответствующий код в качестве доказательства?


 
evvcom ©   (2007-01-10 10:36) [7]

> [5] AnEnd   (10.01.07 07:19)
> А в этом случае разве не только указатель копируется?

Какой указатель? Посмотри SizeOf(RecVar). Данные копируются, причем довольно умный алгоритм там прописан. Стринги, дин.массивы внутри записи - да, копируются указатели, но и RefCount увеличивается, а данные простых типов просто копируются и усё. Другие записи внутри исходной рекурсивно тоже копируются.


 
MsGuns ©   (2007-01-10 11:12) [8]

Массив вариантов ?


 
Gydvin ©   (2007-01-10 11:23) [9]


> > Кстатит я тоже копировал прямым присваиванием, и у меня
>
> > сложилось впечатление, когда сложный record, что-то подглючивает,
>
> > происходит потеря данных...
>
>
> А сможешь привести соответствующий код в качестве доказательства?
>


Пока нет. Потому и написал, что возможно у меня глюки.

хотя вот кое что есть.

type
 Tnedel = record
   poned, ftorn, sred, chetv, patn, subbot, voskr: widestring;
end;

type
 Tkaz = record
   FileName: string;
   NameKanal: widestring;
   Dni: Tnedel;
 end;

""""
function poluchit (i:intger) :tkaz;
....
var
 fileopen: array of Tkaz;
.....

var
x:integer;
begin
setlength(fileopen,5);

for x:=0 to 4 do fileopen[x]:=poluchit(x);

end;

в function poluchit заполнение полей result происходит присваиванием каждому полю своего значения по учереди.

какова вероятность здесь потерять данные? У меня по каким=то причинам происходит (иногда) их потеря.


> А в этом случае разве не только указатель копируется?


Копируются именно данные


 
evvcom ©   (2007-01-10 11:43) [10]

> [8] MsGuns ©   (10.01.07 11:12)

Ты это сейчас с кем и/или о чем?


 
MsGuns ©   (2007-01-10 11:51) [11]

>evvcom ©   (10.01.07 11:43) [10]
>Ты это сейчас с кем и/или о чем?

Прошу прощения, не "въехал", подумал что имеется в виду "запись" датасета. А так, ответ в [1], за исключением случаев когда в структуре есть элементы списков



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

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

Наверх




Память: 0.49 MB
Время: 0.053 c
2-1168190561
Влад
2007-01-07 20:22
2007.01.28
OR


15-1168460817
Chort
2007-01-10 23:26
2007.01.28
Логотип программы


9-1142680672
KiberKot
2006-03-18 14:17
2007.01.28
TFK Model Edit


2-1168418046
NAval
2007-01-10 11:34
2007.01.28
HTML в дельфи


2-1168416384
Rentgen
2007-01-10 11:06
2007.01.28
как из TDateTime вычесть к примеру 5 минут?