Einzelnen Beitrag anzeigen

hagi2

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

Re: Labels nicht in Form1 deklarieren, aber dort anzeigen

  Alt 22. Mär 2004, 13:18
Gut. So funktionierts. Aber so wie ichs gern hätt immer noch nicht. Hier mal ein Bsp-Code:
(unit2 kennt das Formular nicht, deswegen muss es übergeben werden)

Delphi-Quellcode:
// Unit1:
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;
Delphi-Quellcode:
//Unit2:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
TTest = class

  procedure anzeigen(Form: TComponent; Cont: TWinControl);
  end;

implementation

procedure TTest.anzeigen(Form: TComponent; Cont: TWinControl);
 var
SpielfeldF: TImage;

begin
SpielfeldF := TImage.Create(Form);
SpielfeldF.Parent := Cont;
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.
So funktionierts. Wenn ich jetzt aber die Deklaration von SpielfeldF nach oben in die Klasse verleg, damit nach der Initialisierung noch andere Prozeduren darauf zugreifen können, kommt "Acess violation". Weiss aber net warum.
  Mit Zitat antworten Zitat