![]() |
Klasse in Unit verwenden
hallo,
ich möchte folgende klasse in der unit1 verwenden:
Delphi-Quellcode:
unit geomForm;
interface type TGeomForm = class private Fx: Integer; Fy: Integer; public procedure verschieben (dx, dy: integer); end; implementation procedure verschieben (dx, dy: integer); begin Self.Fx:= Self.Fx + dx; self.Fy:= self.Fy + dy; end; end. Unit1:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, geomForm; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var geomForm: TgeomForm; begin geomForm := TgeomForm.Create; geomForm.verschieben(10,10); geomForm.Free; end; end. dabei treten folgende Fehler auf: undefinierter Bezeichner self (geomForm Zeile 19-20) Operator oder Semikolon fehlt (geomFrom Zeile 20) Anweisung erforderlich aber Ausdruck vom Typ Integer gefunden Ungenügend Forward- oder External-Deklaration: 'TGeomForm.verschieben' verwendete Unit kann nicht compiliert werden ich hoffe ihr könnt mir sagen was schief läuft. mfG |
AW: Klasse in Unit verwenden
falsch:
Delphi-Quellcode:
richtig:
procedure verschieben (dx, dy: integer);
begin Self.Fx:= Self.Fx + dx; self.Fy:= self.Fy + dy; end;
Delphi-Quellcode:
procedure tGeomForm.verschieben (dx, dy: integer);
begin Self.Fx:= Self.Fx + dx; self.Fy:= self.Fy + dy; end; |
AW: Klasse in Unit verwenden
Delphi-Quellcode:
->
procedure verschieben (dx, dy: integer);
begin Self.Fx:= Self.Fx + dx; //was soll hier self sein? self.Fy:= self.Fy + dy; end;
Delphi-Quellcode:
[edit] *Gnarf*, zu langsam :? [/edit]
procedure TGeomForm.verschieben (dx, dy: integer);
begin Self.Fx:= Self.Fx + dx; //jetzt zeigt self auf die aktuelle Instanz von TGeomForm self.Fy:= self.Fy + dy; end; |
AW: Klasse in Unit verwenden
du hast es aber besser erklärt! :-D
|
AW: Klasse in Unit verwenden
oder anders beschrieben:
Delphi-Quellcode:
procedure verschieben(dx, dy: integer); // Implementation einer Prozedur
begin ... end; procedure TGeomForm.verschieben (dx, dy: integer); // Implementation der Methode einer Klasse begin ... end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz