AGB  ·  Datenschutz  ·  Impressum  







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

RTTI - Rad 2007

Ein Thema von Highttower · begonnen am 30. Jul 2010 · letzter Beitrag vom 30. Jul 2010
Antwort Antwort
Highttower

Registriert seit: 2. Jun 2009
Ort: Worms
88 Beiträge
 
Delphi 2010 Professional
 
#1

RTTI - Rad 2007

  Alt 30. Jul 2010, 13:38
Delphi-Version: 2005
Hallo zusammen,

gibt es eine Möglichkeit, public-Properties (nicht PUBLISHED) mit Hilfe einer wie auch immer gearteten RTTI auszulesen? Mit Rad 2010 ist das ja nicht das große Problem... allerdings bin ich grade mit dem Rad Studio 2007 beschäftigt. Hier gibt es einen Unit Typinfo, diese ermöglicht es mir auf published Properties zu zu greifen. Weder

Hier im Forum suchenTypinfo public

noch

Bei Google suchenTypinfo public

haben bisher zufrieden stellende Ansätze zu Tage gefördert.

Ein reines durchsuchen nach RTTI hilft mir auch nicht viel ... ihr glaubt gar nicht wieviel startTime(s) es gibt .

Bin langsam echt verzweifelt ... falls das nicht geht, gibt es eine schickere Möglichkeit public in published zu wandeln? Vllt per Compilerschalter oder so?

Vielen Dank,

Tobi
Tobi
Rechtschreib und Semikolion Fehler dürfen behalten werden.
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: RTTI - Rad 2007

  Alt 30. Jul 2010, 13:49
Hallo

suche mal nach FindPropInfo.
  Mit Zitat antworten Zitat
Highttower

Registriert seit: 2. Jun 2009
Ort: Worms
88 Beiträge
 
Delphi 2010 Professional
 
#3

AW: RTTI - Rad 2007

  Alt 30. Jul 2010, 14:10
Hallo,

das klappt nicht zum einen konnt ich erst nicht drauf zu greifen, daher musste ich mir die in die Unit kopieren ....

Zum anderen findet auch diese Methode nur Published-Eigenschaften. Hier mal mein Code zum austesten:

Delphi-Quellcode:
  type

  TForm4 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    FValue : Integer;
    { Private-Deklarationen }
    procedure Foo(AObject : TObject);


  public

    property Scaleunit: Integer read FValue write FValue ;
    { Public-Deklarationen }
  end;
Delphi-Quellcode:
function FindPropInfo(Instance: TObject; const PropName: string): PPropInfo;
begin
  Result := GetPropInfo(Instance, PropName);
  if Result = nil then
    raise Exception.Create('Prop konnte nicht gefunden werden: '+PropName);
end;

procedure TForm4.Foo(AObject: TObject);
begin
  ShowMessage( AObject.ClassName);
  ShowMessage(IntToStr( GetOrdProp(GetObjectProp(AObject,'Font'), 'Size')));
 // ReadProp(AObject, 'Value');
  if FindPropInfo(AObject, 'Value') = nil then
    ShowMessage('funzt');
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
    FValue := 23;
    Foo(Self);
end;
Noch mal vielen Dank,

Tobi
Tobi
Rechtschreib und Semikolion Fehler dürfen behalten werden.

Geändert von mkinzler (30. Jul 2010 um 14:22 Uhr) Grund: Code-Tags durch Delphi-Tags ersetzt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#4

AW: RTTI - Rad 2007

  Alt 30. Jul 2010, 14:30
RTTI ... das ist doch der Unterschied zwischen Public und Published

das klappt nicht zum einen konnt ich erst nicht drauf zu greifen, daher musste ich mir die in die Unit kopieren ....
Ich dachte man fügt, in soeinem Fall, einen passenden Suchpfad hinzu?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (30. Jul 2010 um 14:37 Uhr)
  Mit Zitat antworten Zitat
Highttower

Registriert seit: 2. Jun 2009
Ort: Worms
88 Beiträge
 
Delphi 2010 Professional
 
#5

AW: RTTI - Rad 2007

  Alt 30. Jul 2010, 14:35
RTTI ... das ist doch der Unterschied zwischen Public und Published
grml, ja ... stimmt mist das hab ich heute morgen auch irgendwo gelesen... ich glaub es ging darum wie der Objektinspektor funktioniert ... gibt es den irgendein Möglichkeit das zu verschieben ... naja ich glaub nicht dran...

Vielen dank nochmal,

wenn noch jemand was weiß, würd mich freun wenn ich nach meinem Urlaub in 2 Wochen hier noch was finden würde .

Viele Grüße,

Tobi
Tobi
Rechtschreib und Semikolion Fehler dürfen behalten werden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#6

AW: RTTI - Rad 2007

  Alt 30. Jul 2010, 14:52
Was willst du eigentlich damit erreichen?

PS: eventuell hilft ja auch schon {$M+} , bzw. {$TYPEINFO ON}
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: RTTI - Rad 2007

  Alt 30. Jul 2010, 15:17
Ein reines durchsuchen nach RTTI hilft mir auch nicht viel ... ihr glaubt gar nicht wieviel startTime(s) es gibt .
Suchen Sie doch mal nach "RTTI" (mit Anführungszeichen).
Die Suchtags machen das derzeit leider nicht mit, aber die URL funktioniert: http://www.delphipraxis.net/dp_searc...ch_matchmode=0
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Highttower

Registriert seit: 2. Jun 2009
Ort: Worms
88 Beiträge
 
Delphi 2010 Professional
 
#8

AW: RTTI - Rad 2007

  Alt 30. Jul 2010, 15:34
Was willst du eigentlich damit erreichen?
Ich will bestimmte Eigenschaften, verschiedener Klassen auf CSS Befehle(Eigenschaften) mappen. In D2010 geht das wunderbar, nur in D2007 halt nicht ... und es wäre schön wenn das irgendwie geht, im Notfall muss ich halt doch typisiert jede Klasse abklappern .

Naja in 10 Stunden geht der Flieger und ich bin erst mal weg. Vielleicht komm ich ja nach dem Urlaub auf die zündene Idee.

Aber ich hab mich schon drauf ein gerichtet das ich erst mal ein paar Tage mit if AObj is TClass then begin ... beschäftigen darf.

Vielen dank und viele Grüße,

Tobi
Tobi
Rechtschreib und Semikolion Fehler dürfen behalten werden.
  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 07:34 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