Форум: "Начинающим";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
ВнизКак быстро скопировать 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.054 c