AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Published propertys werden nicht angezeigt
Thema durchsuchen
Ansicht
Themen-Optionen

Published propertys werden nicht angezeigt

Ein Thema von Die Muhkuh · begonnen am 14. Apr 2005 · letzter Beitrag vom 16. Apr 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#1

Published propertys werden nicht angezeigt

  Alt 14. Apr 2005, 17:31
Hi,

Delphi-Quellcode:
TEnvironment = class(TComponent)
private
  ...
published
   { Published-Deklarationen }
   property AllUsersProfile: string read FAllUsersProfile;
   property AppData: string read FAppData;
   property Path: TStringList read FPath;
 end;
Die Propertys sollten doch im OI angezeigt werden. Das tut legendlich nur die property "Path", die anderen beiden sind "verschwunden". Wird ja wohl kaum dadran liegen, das es kein write gibt?

Was könnte ich dagegen tun?
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: Published propertys werden nicht angezeigt

  Alt 14. Apr 2005, 17:46
Zitat:
Wird ja wohl kaum dadran liegen, das es kein write gibt?
IMHO:
Ich denke schon. Denn OI ist da um die Eigenschaften zu ändern, und das ist mit ReadOnlyPropertys nicht möglich.
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Published propertys werden nicht angezeigt

  Alt 14. Apr 2005, 17:50
Zitat von sniper_w:
Zitat:
Wird ja wohl kaum dadran liegen, das es kein write gibt?
IMHO:
Ich denke schon. Denn OI ist da um die Eigenschaften zu ändern, und das ist mit ReadOnlyPropertys nicht möglich.
Hmm, kacke. Dann mach ich halt eine leere Setter-Methode

[edit] Aber warum wird dann Path angezeigt? Die kann man ja auch nicht ändern [/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: Published propertys werden nicht angezeigt

  Alt 14. Apr 2005, 17:55
Ich bin mir absolut nicht sicher, deswegen eher als Frage:
Bezieht sich write/read bei Klassen nicht nur auf den Pointer, sodass man mit readonly den Wert der Zeiger bekommt, somit die ganze Instanz verwenden kann, nur dem Zeiger keine neue/andere Instanz zuweisen kann?
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Published propertys werden nicht angezeigt

  Alt 14. Apr 2005, 17:57
Wird die überhaupt im Constructor erzeugt? Wahrscheinlich erkennt der Objektinspektor, dass es sich nicht um einen trivialen Typ handelt. Du kannst die Objektreferenz selbst nicht überschreiben, wohl aber dessen Eigenschaften ändern. Sowas wie TEnvironment.Create.Path := TStringlist.Create dürfte nicht gehen.
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#6

Re: Published propertys werden nicht angezeigt

  Alt 14. Apr 2005, 18:24
Einen Nachfahren von TPersistent wird er auch im OI zeigen wenn er readonly ist.
Schließlich weiß er ja, dass Assign unterstützt wird.

Ansonsten wird eine readonly Property generell nie vom Delphi Streaming System erfasst.
Sie könnte ja beim Auslesen der Datei/Resource nicht wieder bestezt werden und wäre somit sinnloser Ballast
Was nicht in der DFM landet, braucht auch keinen Platz im OI verschwenden So einfach ist das.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Published propertys werden nicht angezeigt

  Alt 16. Apr 2005, 11:40
Hi,

ich hab das jetzt einfach so gemacht:

Delphi-Quellcode:
private
  FAllUsersProfile: string;
  procedure SetAllUsersProfile(const Value: string);
published
  property AllUsersProfile: string read FAllUsersProfile write SetAllUsersProfile;
end;

[...]

procedure TEnvironment.SetAllUsersProfile(const Value: string);
begin
  FAllUsersProfile := FAllUsersProfile;
end;
Ist vllt. keine sehr saubere Lösung, aber so gehts^^.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#8

Re: Published propertys werden nicht angezeigt

  Alt 16. Apr 2005, 11:57
Du hast wohl gar keine Skrupel, oder?
Was bringt es dir denn wenn der Wert sowieso readonly ist?
Außerdem hat dieser Wert nur etwas mit DEINEM System zu tun, das muss ja nicht unbedingt der einzige Rechner sein auf dem das Programm laufen soll.
Außerdem hast du nun scheinbar im Code die Möglichkeit die Property zu besetzen -> irgendwie ist dass ...
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Published propertys werden nicht angezeigt

  Alt 16. Apr 2005, 11:59
Zitat:
Du hast wohl gar keine Skrupel, oder?


Habs jetzt doch anders gelöst. Hab mir einfach ein Kommentar reingeschrieben.

Delphi-Quellcode:
procedure TEnvironment.SetAllUsersProfile(const Value: string);
begin
  // Darf nicht geändert werden
end;
Der Sinn der Sache: Ich lese die Umgebungsvarialben aus. Diese soll man halt nicht ändern können. Nur auslesen halt
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#10

Re: Published propertys werden nicht angezeigt

  Alt 16. Apr 2005, 12:34
Hi,

schonmal rechtsclick auf OI, Eigenschaften, Checkbox "Nur Lesen Eigenschaften anzeigen" versucht?

Grüsse
Woki
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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