Registriert seit: 21. Dez 2003
16 Beiträge
|
Zugriffsverletzung - Warum?
24. Mär 2004, 18: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.
|
|
Zitat
|