Witam serdecznie,
proszę o wskazanie jakie są różnice pomiędzy definicją record a class, bo wydaje się wygodniej tworzyć rekord i nie myśleć nad zwalnianiem pamięci jak to jest w przypadku obiektu danej klasy, koszt wiadomy wieksze zapotrzebowanie na pamięć ale czy są jakieś inne za i przeciw. Bardzo proszę o Wasze zdanie z uzasadnieniem co lepiej stosować;
Przykład:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TMyRecord = record
a: integer;
b: string;
procedure Clear;
end;
type
TMyClass = class
a: integer;
b: string;
procedure Clear;
end;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
myrecord: TMyRecord;
myclass: TMyClass;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TMyRecord.Clear;
begin
a:=0;
b:='';
end;
procedure TMyClass.Clear;
begin
a:=0;
b:='';
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
myrecord.a:=1;
myrecord.b:=IntToStr(myrecord.a);
ShowMessage(myrecord.b);
myrecord.Clear;
ShowMessage(myrecord.b);
myclass:=TMyClass.Create;
myclass.a:=2;
myclass.b:=IntToStr(myclass.a);
ShowMessage(myclass.b);
myclass.Clear;
ShowMessage(myclass.b);
myclass.Free;
end;
end.