unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls;
  //definicja eksportowanego obiektu w module:
  // UHeaders;
  // lub jak poniżej

{$I OsobaObject.inc }

type

  TMainForm = class(TForm)
    Memo1: TMemo;
    Panel1: TPanel;
    btnKONIEC: TBitBtn;
    btnSTART: TBitBtn;
    procedure btnKONIECClick(Sender: TObject);
    procedure btnSTARTClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private

  public
    osoba : MOsoba;

  end;

var
  MainForm: TMainForm;

implementation
{$R *.dfm}
{------------------------------------------------------------------------------}
procedure TMainForm.btnKONIECClick(Sender: TObject);
begin
	Close();
end;

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
	if Assigned(osoba) then
   begin
   	FreeAndNil(osoba);
   end;
end;

procedure TMainForm.FormShow(Sender: TObject);
begin
   Memo1.Clear();
   Memo1.Align := alLeft;
end;

procedure TMainForm.btnSTARTClick(Sender: TObject);
var
	nazwisko : String;
   imie     : String;

begin
   osoba := Nil;
   osoba := GetOsobaObject;

   if Assigned(osoba) then
   begin
   	osoba.SetNazwisko('Kowalski');
   	osoba.SetImie('Adam');

		nazwisko := osoba.GetNazwisko();
   	imie     := osoba.GetImie();

      Memo1.Clear();
      Memo1.Lines.Add(nazwisko);
      Memo1.Lines.Add(imie);
   end;
end;

end.
