Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.11.2012, 06:36
Аватар для morebeauty
morebeauty morebeauty вне форума
Начинающий
 
Регистрация: 21.06.2012
Сообщения: 106
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Проблема с record

Есть следующий код (примерный, чтобы долго не вникать):
Код:
type
Record1 = record
var1:string;
var2:string;
var3:string;
end;

Records1 = array of Record1;

Class1 = class
public
ArrOfRecord1:Records1;
Var1:string;
Var2:string;
end;

***

Procedure proc1;
var
C1:Class1;
C2:Class1
begin
c1:=Class1.Create;
c2:=Class1.Create;
setlength(C1.ArrOfRecord1, 2);
C2:=C1;
C1.ArrOfRecord1[0].var1:='qwe';
C1.ArrOfRecord1[0].var2:='asd';
C1.ArrOfRecord1[0].var3:='zxc';
C1.ArrOfRecord1[1].var1:='123';
C1.ArrOfRecord1[1].var2:='345';
C1.ArrOfRecord1[1].var3:='567';
ShowMessage(C2.ArrOfRecord1[1].var3);
end;

Проблема в том, что когда я создаю 2 экземпляра класса Class1 и делаю присвоение в proc1, его набор ArrOfRecord1 ссылается на один и тот же Records1. То есть ShowMessage(C2.ArrOfRecord1[1].var3) выводит '567'.

Как изменить код, чтобы это исправить?
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:29.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025