Thema: Delphi Zwei Malebenen

Einzelnen Beitrag anzeigen

Jibiel

Registriert seit: 9. Jul 2006
15 Beiträge
 
#16

Re: Zwei Malebenen

  Alt 2. Nov 2006, 21:20
Zitat von mkinzler:
Du könntest die Definitionene auch in eine 3.Unit auslgern, welche du von beiden anderen Units einbindest.
@mkinzler dann wäre glaub ich wieder das gleiche Problem wie vorher



Zitat von DocE:
Abhilfe könnte eine eigene Unit (z.B. "MeineTypen") schaffen, in der Du Deine eigenen Typen z.B. THaus deklarierst. Diese kannst Du dann überall nach interface einbinden, ohne einen Zirkelbezug zu erzeugen.
@Doc könntest du mir kurz aufschreiben, wie man die Unit im interface Teil einbindet? Bin da noch etwas zu noob zu und find mal wieder unter falschen Stichwörtern nicht das, was ich brauche^^

[quote="Khabarakh"]Am Besten wäre es, wenn du im Konstruktor nur eine Canvas übergibst.[quote]

Irgendwie beschwert er sich nun, dass er Form1 nicht findet.

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
  end;

var
  Form1: TForm1;
  Haus1: THaus;

implementation

procedure TForm1.Button1Click(Sender: TObject);
begin
Haus1 := THaus.create(Image1.canvas);
end;

end.
Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;
  
type Thaus = class(Tobject)
  private
   zimghinten : TCanvas;
  public
   constructor create(imghinten : TCanvas); virtual;
   procedure Zeichnen;
  end;

implementation

constructor THaus.create(imghinten : TCanvas);
begin
  inherited create;
  zimghinten := imghinten;
end;

procedure THaus.Zeichnen;
begin
  zimghinten.Rectangle(5,5,20,20);
end;

end.
:>
  Mit Zitat antworten Zitat