Показать сообщение отдельно
  #6  
Старый 28.11.2012, 09:00
Аватар для morebeauty
morebeauty morebeauty вне форума
Начинающий
 
Регистрация: 21.06.2012
Сообщения: 106
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    btn1: TButton;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  Record1 = record
    var1:string;
    var2:string;
    var3:string;
  end;

  Records1 = array of Record1;

  Class1 = class(TPersistent)
  public
    ArrOfRecord1:Records1;
    Var1:string;
    Var2:string;
  end;
var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
var
  C1:Class1;
  C2:Class1;
begin
  c1:=Class1.Create;
  c2:=Class1.Create;
  setlength(C1.ArrOfRecord1, 2);
  C1.Assign(C2);
  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;

end.
при нажатии на кнопку пишет ошибку
project project1.exe raised exception class EConvertError with message 'Cannot assign a Class1 to a Class1'. Process stoped.
Ответить с цитированием