Einzelnen Beitrag anzeigen

hagi2

Registriert seit: 21. Dez 2003
16 Beiträge
 
#1

Zugriffsverletzung - Warum?

  Alt 24. Mär 2004, 17:52
Steht die Deklaration von SpielfeldF in Unit2 in der Procedure (ich hab es jetzt mal mit Kommentar markiert), dann läuft alles. Verschieb ich die Deklaration in die Klasse TTest, dann kommt eine Zugriffsverletzung. Warum? Was ist da falsch? Wär nett, wenn mir das jemand sagen könnte...

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Test: TTest;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Test.anzeigen(Form1, Form1);
end;

end.
Delphi-Quellcode:
unit Unit2;

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

type
TTest = class
  procedure anzeigen(Formular: TComponent; Kontrolle: TWinControl);
  end;



implementation
procedure TTest.anzeigen(Formular: TComponent; Kontrolle: TWinControl);
var
//SpielfeldF: TImage;
begin
SpielfeldF := TImage.Create(Formular);
SpielfeldF.Parent := Kontrolle;
SpielfeldF.Width := 200;
SpielfeldF.Height := 400;
SpielfeldF.Top := 100;
SpielfeldF.Left := 200;
SpielfeldF.Visible := true;

SpielfeldF.Canvas.Pen.Color := RGB(100,100,100);
SpielfeldF.Canvas.Rectangle(0,0,SpielfeldF.Height, SpielfeldF.Width);
end;
 end.
  Mit Zitat antworten Zitat