Einzelnen Beitrag anzeigen

WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#1

Verständnisfrage Objektfreigabe

  Alt 10. Jun 2009, 10:19
Hallo Gemeinde,

ich habe ein Problem mit folgendem Code (grob gekürzt):

Delphi-Quellcode:
procedure TForm1.EditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var geraet:TGeraet;
begin
try
  if (key=vk_return) or (key=vk_tab) then Begin
  try
    geraet:=Tgeraet.create(edit.Text);
  except
    //mach was
    exit;
  end;
//mach was
end;//if key
finally
freeandnil(geraet); //<- Zugriffsverletzung
end;
end;
Deklariere ich "geraet" global funktioniert es.

Delphi-Quellcode:

unit test;

interface

uses
  //

type
  TForm1 = class(TForm)
    //
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;


implementation
uses //
{$R *.dfm}

var geraet:TGeraet; //<- So funktioniert es


procedure TForm1.EditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
Begin
//
end;
Hat irgendwer ne Idee, warum ich das lokal deklarierte geraet nicht freigeben kann?
MFG
Steffen
  Mit Zitat antworten Zitat