AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Erhalte Zugriffsfehler bei Verwendung von Attributen des paremt
Thema durchsuchen
Ansicht
Themen-Optionen

Erhalte Zugriffsfehler bei Verwendung von Attributen des paremt

Ein Thema von roboter202 · begonnen am 9. Dez 2011 · letzter Beitrag vom 9. Dez 2011
Antwort Antwort
roboter202

Registriert seit: 6. Mär 2011
98 Beiträge
 
Delphi 6 Professional
 
#1

Erhalte Zugriffsfehler bei Verwendung von Attributen des paremt

  Alt 9. Dez 2011, 15:14
Hi,

Ich habe ein kleines Problem mit meinen Klassen:

Hier die Definitionen:
Delphi-Quellcode:
TGuiElement = class
  private
    ftop, fleft, fwidth, fheight: Double;
    fid: Integer;
    fname: String;
    fclassName: String;

[...]

  TGuiButton = class(TGuiElement)
  private
    fOnClick: TNotifyEvent;
  public
    procedure Render;
  end;
der Fehler liegt in der procedure Render der TGuiButton Klasse

 glTranslated( fleft, ftop,0); warum hab ich keinen Zugriff auf die Attribute der Vaterklasse?
Christian
i := 0 ; While i = 0 do beep ;

Geändert von roboter202 ( 9. Dez 2011 um 15:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.617 Beiträge
 
Delphi 12 Athens
 
#2

AW: Erhalte Zugriffsfehler bei Verwendung von Attributen des paremt

  Alt 9. Dez 2011, 15:22
Du hast sie doch selbst als private deklariert. Du kannst nun entweder Properties mit einer höheren Sichtbarkeit erstellen, über die Du auf die Felder zugreifst, oder Du verschiebst sie direkt nach protected.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
roboter202

Registriert seit: 6. Mär 2011
98 Beiträge
 
Delphi 6 Professional
 
#3

AW: Erhalte Zugriffsfehler bei Verwendung von Attributen des paremt

  Alt 9. Dez 2011, 15:29
ok aber ich auch, das fehlt leider bei meinem letzen post, auch public propertys erstellt und auch auf die kann ich nicht zugreifen.

Selbst wenn ich sie protected mache geht es immer noch nicht!
Christian
i := 0 ; While i = 0 do beep ;

Geändert von roboter202 ( 9. Dez 2011 um 15:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.617 Beiträge
 
Delphi 12 Athens
 
#4

AW: Erhalte Zugriffsfehler bei Verwendung von Attributen des paremt

  Alt 9. Dez 2011, 15:31
Etwas mehr Code bitte.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
roboter202

Registriert seit: 6. Mär 2011
98 Beiträge
 
Delphi 6 Professional
 
#5

AW: Erhalte Zugriffsfehler bei Verwendung von Attributen des paremt

  Alt 9. Dez 2011, 15:33
Kein Problem

Delphi-Quellcode:
TGuiElement = class
  protected
    ftop, fleft, fwidth, fheight: Double;
    fid: Integer;
    fname: String;
    fclassName: String;
  public
    procedure Render; virtual; abstract;
    property top: Double read ftop write ftop;
    property left: Double read fleft write fleft;
    property width: Double read fwidth write fwidth;
    property height: Double read fheight write fheight;
    property id: Integer read fid write fid;
    property name: String read fname write fname;
    property ClassName: String read fclassName write fclassName;
  end;

  TGuiButton = class(TGuiElement)
  private
    fOnClick: TNotifyEvent;
  public
    procedure Render;
    property OnClick: TNotifyEvent read fOnClick write fOnClick;
  end;
Delphi-Quellcode:
procedure TGuiButton.Render;
begin
  glPushMatrix;
    glTranslated(fleft, ftop,0); //Felher taucht erstmals hier auf
    glBegin(GL_QUADS);
      glColor3f(1,0,1);
      glVertex3f(fwidth,0 ,0);
      glVertex3f(fwidth,0 ,0);
      glVertex3f(fwidth,fheight,0);
      glVertex3f(0 ,fheight,0);
    glEnd;

  glPopMatrix;
end;
Christian
i := 0 ; While i = 0 do beep ;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.617 Beiträge
 
Delphi 12 Athens
 
#6

AW: Erhalte Zugriffsfehler bei Verwendung von Attributen des paremt

  Alt 9. Dez 2011, 15:35
Nicht auf fleft/ftop zugreifen, sondern auf left und top (dasselbe gilt für width und height). Außerdem fehlt das override hinter Render in der abgeleiteten Klasse.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
roboter202

Registriert seit: 6. Mär 2011
98 Beiträge
 
Delphi 6 Professional
 
#7

AW: Erhalte Zugriffsfehler bei Verwendung von Attributen des paremt

  Alt 9. Dez 2011, 15:38
Oop. Ok aber der Fehler schient wohl auch noch wo anders zu liegen das self ergibt bei mir nil.

Ich prüfe es nochmal
Christian
i := 0 ; While i = 0 do beep ;
  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 20:06 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