AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi public - private und welchen Status haben Objecte davor?
Thema durchsuchen
Ansicht
Themen-Optionen

public - private und welchen Status haben Objecte davor?

Ein Thema von PinKing · begonnen am 30. Mär 2007 · letzter Beitrag vom 31. Mär 2007
Antwort Antwort
PinKing

Registriert seit: 21. Nov 2006
20 Beiträge
 
#1

public - private und welchen Status haben Objecte davor?

  Alt 30. Mär 2007, 23:57
Guten Abend,
gerade ebend hab ich nach 30 Minuten bei mir die Fehlersuche erfolgreich beenden können. Der Fehler ist behoben, aber die Sache noch nicht erledigt
Denn nun würd ich ihn auch gerne verstehen. Ich hatte in meinem Form eine Image-Fläche eingebunden. Delphi hatte diese autoamtisch vor private deklariert:

Delphi-Quellcode:
type
  TForm1 = class(TForm)

   Image1:TImage;
  private

  public
 end;
Mein Informatiklehrer meinte aber zu uns das es so unsauber wäre. Also hatte ich es unter private geschoben, da dieses Attribut nur für diese Klasse zur Verfügung stehen sollte. Wenn ich jetzt aber das Programm compilieren möchte werde ich mit diesem fehler konfrontiert:
"Im Project1.exe ist eine Exception der Klasse EClassNotFound aufgetreten. Meldung: 'Klasse: TImagenicht gefunden'.Prozess wurde angehalten. Mit Einzelanweisung oder Start fortsetzen."

WARUM ? und wie sind diese Objecte zu bewerten, gehören sie zu private, zu public oder was sind die nun?

Ich hoffe das mir jemand helfen kann.

lg
Pin
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: public - private und welchen Status haben Objecte davor?

  Alt 31. Mär 2007, 00:07
Sicherlich hat dein Info-Lehrer recht das diese vom GUI-Designer privat gelegten Member-Variablen alles andere als der reinen Lehrer entsprechen da sie ohne Angabe einer Sichtbarkeit zu public (oder wars published ) gehören.
Jedoch hat man es bei Borland zu Delphi 1-Zeiten nicht besser gewußt bzw. keine bessere Lösung gefunden als das die Membervariablen entsprechend definiert sind und die dazugehöhrigen Einstellungen in einer gesonderten DFM-Datei gespeichert sind um das Kompilieren so zu ermöglichen wie man es gewohnt ist. In der Exe stehen die Infos der DFM-Datei binär Codiert als spezielle Ressourcen so das beim Formular erzeugen diese per Streaming geladen werden kann.

Wenn du diese nun in den private-Abschnitt verschiebst können die entsprechenden Membervariablen nicht mehr per RTTI erkannt werden und erzeugt werden.

In .NET war man schon einen schritt schlauer so das für jede Membervariable die Sichtbarkeit angegeben werden kann ohne das es beim Formular erzeugen probleme gibt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
PinKing

Registriert seit: 21. Nov 2006
20 Beiträge
 
#3

Re: public - private und welchen Status haben Objecte davor?

  Alt 31. Mär 2007, 00:24
ah okay, vielen dank
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: public - private und welchen Status haben Objecte davor?

  Alt 31. Mär 2007, 07:43
Member-Variablen oder Methoden überhalb von privtae sind managed. Dh. sie werden von der IDE verwaltet. An ihene sollte man nichts ändern und sie auch nicht verschieben, da dies negative Folgen hat und auch zu unerwarteten Nebeneffekten führen kann.
Markus Kinzler
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.893 Beiträge
 
Delphi 12 Athens
 
#5

Re: public - private und welchen Status haben Objecte davor?

  Alt 31. Mär 2007, 08:28
Bleibt nur noch zu bemerken, dass diese Variablen public sind. In Delphi (Win32) gilt, dass in Objekten alles public ist, was nicht in einem entsprechend anders deklarierten Abschnitt deklariert wird.
Das ist einer der großen Unterschiede zu C++, dort ist grundsätzlich erst mal alles private.

Gruß

onlinekater
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
PinKing

Registriert seit: 21. Nov 2006
20 Beiträge
 
#6

Re: public - private und welchen Status haben Objecte davor?

  Alt 31. Mär 2007, 09:23
okay vielen dank
das mit den negativen auswirkungen hab ich ja gemerkt gehabt

lg
Pin
  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 00:25 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