AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Vererbung: Klassentyp erwartet

Ein Thema von delphicoder123 · begonnen am 14. Jul 2019 · letzter Beitrag vom 14. Jul 2019
Antwort Antwort
delphicoder123

Registriert seit: 14. Feb 2019
102 Beiträge
 
#1

Vererbung: Klassentyp erwartet

  Alt 14. Jul 2019, 12:39
Hallo,
ich habe eine eigene Unit Rechteck erstellt. Diese soll von der Klasse TRect erben.
Beim Compilieren tritt der Fehler mit der Meldung "Klassentyp erwartet" auf.
Was mache ich falsch?


Delphi-Quellcode:
unit rechteck;

interface
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls;

type
  TRechteck = class(TRect)

  private
  x1,x2,y1,y2: Integer;

  public
    constructor erstellen(x1,y1,x2,y2:Integer);
end;



implementation

constructor TRechteck.erstellen;
begin
  self.x1:=x1;
  self.y1:=y1;
  self.x2:=x2;
  self.y2:=y2;
end;

end.
  Mit Zitat antworten Zitat
Heuman
(Gast)

n/a Beiträge
 
#2

AW: Vererbung: Klassentyp erwartet

  Alt 14. Jul 2019, 12:45
Hallo,

Trect ist als record defeniert und nicht als class

siehe Hilfe.

GRuß

Geändert von Heuman (14. Jul 2019 um 14:33 Uhr) Grund: Fehler berichtigt.
  Mit Zitat antworten Zitat
delphicoder123

Registriert seit: 14. Feb 2019
102 Beiträge
 
#3

AW: Vererbung: Klassentyp erwartet

  Alt 14. Jul 2019, 13:28
Hallo,

Trect ist als record defeniert und als class

siehe Hilfe.

GRuß
Was muss ich konkret ändern?
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#4

AW: Vererbung: Klassentyp erwartet

  Alt 14. Jul 2019, 13:34
Delphi-Quellcode:
TRechteck = class
private
  x1,x2,y1,y2: Integer;
public
  constructor erstellen(x1,y1,x2,y2:Integer);
end;
Nicht das das jetzt sinnvoll ist, aber es kompiliert
  Mit Zitat antworten Zitat
delphicoder123

Registriert seit: 14. Feb 2019
102 Beiträge
 
#5

AW: Vererbung: Klassentyp erwartet

  Alt 14. Jul 2019, 13:42
Delphi-Quellcode:
TRechteck = class
private
  x1,x2,y1,y2: Integer;
public
  constructor erstellen(x1,y1,x2,y2:Integer);
end;
Nicht das das jetzt sinnvoll ist, aber es kompiliert
TRechteck soll aber von TRect erben.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Vererbung: Klassentyp erwartet

  Alt 14. Jul 2019, 13:44
siehe
Die class TRechteck soll vom Record TRect erben?
Wie soll das gehen.

Die Fehlermeldung sagt es doch schon.. "Klassentyp erwartet"
Ist TRect ein Klassentyp?

gruss

Geändert von EWeiss (14. Jul 2019 um 13:54 Uhr)
  Mit Zitat antworten Zitat
delphicoder123

Registriert seit: 14. Feb 2019
102 Beiträge
 
#7

AW: Vererbung: Klassentyp erwartet

  Alt 14. Jul 2019, 14:39
siehe
Die class TRechteck soll vom Record TRect erben?
Wie soll das gehen.

Die Fehlermeldung sagt es doch schon.. "Klassentyp erwartet"
Ist TRect ein Klassentyp?

gruss

Es geht darum, dass ich in der Unit Rechteck, die Methode FillRect benötige. FillRect benötigt als Parameter ein TRect.
Um die Rechtecke zu zeichnen, verwende ich die Unit Rechteck. Rechteck ist aber nicht vom Typ TRect.
Das heißt, ich kann FillRect in der Unit Rechteck gar nicht aufrufen.
  Mit Zitat antworten Zitat
Heuman
(Gast)

n/a Beiträge
 
#8

AW: Vererbung: Klassentyp erwartet

  Alt 14. Jul 2019, 14:45
Hallo,
das sollte eigentlich funktionieren.

var rt:TRect;

begin

.fillrect(rt);

end;
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#9

AW: Vererbung: Klassentyp erwartet

  Alt 14. Jul 2019, 16:45
Hallo,

dann gib doch Deiner Klasse eine TRect-Property:
Delphi-Quellcode:
TRechteck = class
private
  fRect:TRect;
public
  constructor Erstellen(x1,y1,x2,y2:Integer);
  property Rechteck:TRect read fRect;
end;


constructor TRechteck.Erstellen(x1,y1,x2,y2:Integer);
begin
  fRect:=Rect(x1, y1, x2, y2);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz