AGB  ·  Datenschutz  ·  Impressum  







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

doppelte Variable in abgeleiteter Klasse

Ein Thema von hoika · begonnen am 10. Aug 2009 · letzter Beitrag vom 10. Aug 2009
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

doppelte Variable in abgeleiteter Klasse

  Alt 10. Aug 2009, 09:19
Hallo #,

ich habe hier eine Klasse mit einem Record.

Delphi-Quellcode:
FieldExist
  bField1: Boolean
end;
Ja, das ist eine DB-Klasse.

Jetzt leite ich die Klasse aber von einer anderen ab,
die eine Funktion FieldExist (mit einem Parameter) besitzt.

schreibe ich jetzt

if FieldExist.bField1 meckert der Compiler und will den Parameter aus der Oberklasse haben.

Schreibe ich

if Self.FieldExist.bField1 ist der Comiler zufrieden.

Warum will er im ersten Fall das FieldExist der Oberklasse ?


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.351 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: doppelte Variable in abgeleiteter Klasse

  Alt 10. Aug 2009, 10:14
Zitat von hoika:
Warum will er im ersten Fall das FieldExist der Oberklasse ?
Der Compiler nimmt stets das, was näher an der Verwendung dran ist. Und da gibt es dann anscheinend eine gleichnamige Struktur in deiner aktuellen Klasse / Methode. Dann wird natürlich auch die genommen.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: doppelte Variable in abgeleiteter Klasse

  Alt 10. Aug 2009, 10:28
Hallo,

nun ja, näher ist ja die abgeleitete Klasse,
aber stimmt schon, das gilt nur für virtuelle Methoden.

Hatte mich nur gewundert und schon angefangen aus
FieldExist FieldExist_ zu machen,
bis ich das mit dem Self herausbekommen habe.


Heiko
Heiko
  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 12:05 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