Registriert seit: 21. Dez 2003
16 Beiträge
|
Re: Labels nicht in Form1 deklarieren, aber dort anzeigen
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.
|
|
Zitat
|