AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Properties im Published-Abschnitt für den OI "unsichtbar"
Thema durchsuchen
Ansicht
Themen-Optionen

Properties im Published-Abschnitt für den OI "unsichtbar"

Offene Frage von "Wheelie"
Ein Thema von Wheelie · begonnen am 7. Dez 2004 · letzter Beitrag vom 8. Dez 2004
Antwort Antwort
Seite 1 von 2  1 2      
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#1

Properties im Published-Abschnitt für den OI "unsichtba

  Alt 7. Dez 2004, 19:19
Hi!

Habe im Published-Abschnitt meiner Pendelkomponente einige Properties. Zwei davon sollen im Objektinspektor nicht sichtbar sein. Unter "private" kann ich sie allerdings nicht deklarieren, da dann die Zuweisungsreihenfolge der unterschiedlichen Parameter beim Compilieren nicht mehr eingehalten wird.

Delphi-Quellcode:
  published
    { Published-Deklarationen }

    property AutoMassstab: Boolean read FAutoMassstab write SetAutoMassstab;
    property Pendellaenge: Double read l write SetPendellaenge;

    property PixelInMeter: Double read FMassstab write SetMassstab; // Unsichtbar im OI
    property PixelLaenge: Integer read Laenge write SetPixelLaenge; // Unsichtbar im OI

    property Fallbeschleunigung: Double read g write SetFallbeschl;
    property Koerperradius: Byte read radius write SetRadius;
    property Amplitude: Byte read FAmplitude write SetAmplitude;
    property Startposition: TStartposition read FStartposition write SetStartposition;
    property Aktiv: Boolean read FAktiv write FAktiv;
    property Masse: Double read m write SetMasse;
    property Ansicht: TAnsicht read FAnsicht write SetAnsicht;
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#2

Re: Properties im Published-Abschnitt für den OI "unsic

  Alt 7. Dez 2004, 19:24
ich versteh dein problem ehrlich gesagt nicht, was meinst du mit :

Zitat:
Unter "private" kann ich sie allerdings nicht deklarieren, da dann die Zuweisungsreihenfolge der unterschiedlichen Parameter beim Compilieren nicht mehr eingehalten wird.
welche zuweisungsreihenfolge?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#3

Re: Properties im Published-Abschnitt für den OI "unsic

  Alt 7. Dez 2004, 19:25
Zitat von Wheelie:
Unter "private" kann ich sie allerdings nicht deklarieren, da dann die Zuweisungsreihenfolge der unterschiedlichen Parameter beim Compilieren nicht mehr eingehalten wird.
das verstehe ich irgendwie nicht.

Es gibt auch den public Abschnitt. Diese sind öffentlich, werden aber nicht im OI angezeigt.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#4

Re: Properties im Published-Abschnitt für den OI "unsic

  Alt 7. Dez 2004, 20:59
also das mit der "zuweisungsreihenfolge" ist echt nicht so einfach zu erklären. grundsätzlich legt der anwender meiner komponente zur entwurfszeit verschiedene eigenschaften fest. unter anderem entscheidet er sich auch, ob das pendel einen automatischen massstab besitzen soll oder nicht (property AutoMassstab: Boolean read FAutoMassstab write SetAutoMassstab;). wenn er nun F9 drückt wird die klasse neu instanziert und delphi weist diesem neuen objekt die vom benutzer festgelegten eigenschaften nacheinander zu, und zwar genau so, wie sie im published-abschnitt vorkommen -> zuerst AutoMassstab, dann Pendellaenge etc. allerdings werden NUR die properties des published-abschnitts zugewiesen (logisch, denn nur die kann der anwender verändert haben). properties im private-abschnitt werden erst gar nicht zugewiesen und selbst wenn, dann würde die von mir erwähnte zuweisungsreihenfolge nicht mehr stimmen, denn bevor der komponente die PixelLaenge übergeben wird, muss sie wissen, ob sie auch auf den AutoMassstab achten muss.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: Properties im Published-Abschnitt für den OI "unsic

  Alt 7. Dez 2004, 21:06
Moin!

Ist doch auch ganz klar warum: Properties die in der DFM vermerkt werden und von Delphi gesetzt werden anhand der DFM Werte müssen published sein - alle anderen beachtet der OI eh nicht. Daher ist auch eine property im published Bereich die nicht öffentlich sein soll (also im OI) sinnlos, weil du sie eh nicht verändern kannst im OI und somit kommen die Veränderungen an diesen Properties (wie auch immer du diese zur Designzeit bewerkstelligen willst) auch nicht in die DFM...

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Properties im Published-Abschnitt für den OI "unsic

  Alt 7. Dez 2004, 21:29
@Muetze: Ich muss dich leider enttäuschen, du kannst dich nicht darauf verlassen das die Properties dann in alphabeticher Reihenfolge gesetzt werden, du solltest deine Komponenten so schreiben das es egal ist welches Property zuerst gesetzt wird.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
iCode4You

Registriert seit: 7. Dez 2004
3 Beiträge
 
Delphi 2005 Professional
 
#7

Re: Properties im Published-Abschnitt für den OI "unsic

  Alt 7. Dez 2004, 21:39
Hallo überschreibe doch einfach folgende Procedure von TComponent:

    procedure Loaded; virtual; überschreiben:

Delphi-Quellcode:
 
TYourComp = class(TComponent)
protected
  procedure Loaded; override;
end;
damit kannst du die abhängigkeiten lösen !
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#8

Re: Properties im Published-Abschnitt für den OI "unsic

  Alt 7. Dez 2004, 21:41
Zitat:
properties im private-abschnitt werden erst gar nicht zugewiesen
kannst doch im OnCreate deiner Kompo machen, oder?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
iCode4You

Registriert seit: 7. Dez 2004
3 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Properties im Published-Abschnitt für den OI "unsic

  Alt 7. Dez 2004, 22:09
hmm... wenn man ein Ereignis OnCreate hat geht das vielleicht auch ansonsten wenns nur ne TComponent ist sollte man loaded nehmen,
ist vor allem mit OldCreateOrder usw. sicherer da Loaded vom Streaming system gerufen wird ...
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Properties im Published-Abschnitt für den OI "unsic

  Alt 7. Dez 2004, 22:29
Zitat von iCode4You:
hmm... wenn man ein Ereignis OnCreate hat geht das vielleicht
Wer redet von OnCreate? Man kann doch auch einfach den Constructor überschreiben, so ist es zumindest üblich und sowas gehört ja auch in den Constructor.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  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 10:36 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