Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi RTTI - Properties setzen (https://www.delphipraxis.net/87351-rtti-properties-setzen.html)

GuenterS 27. Feb 2007 14:39


RTTI - Properties setzen
 
Hallo.

Wie ich mit GetPropList die namen der verfügbaren Properties bekomme weiß ich, aber wie könnte ich aufgrund dem dort gefundenen Namen, dieses Propertie eines bestimmten Objektes setzen?

DGL-luke 27. Feb 2007 15:18

Re: RTTI - Properties setzen
 
Iie Funktion heißt ganz banal Delphi-Referenz durchsuchenTypInfo.SetObjectProp.

GuenterS 27. Feb 2007 15:35

Re: RTTI - Properties setzen
 
Dankeschön,
und wenn ich einen Integer und kein Object setzen möchte dann nehm ich SetOrdProp usw.


aber wie gehe ich mit einem TDateTime Property um?

shmia 27. Feb 2007 16:26

Re: RTTI - Properties setzen
 
Zitat:

Zitat von GuenterS
aber wie gehe ich mit einem TDateTime Property um?

TDateTime ist intern ein Double. Also SetFloatValue

GuenterS 27. Feb 2007 16:28

Re: RTTI - Properties setzen
 
Danke das war mir schon klar, aber wie unterscheidet man dann Float Werte von TDateTime Werte?

Das ist sehr interessant, wenn man versucht eine Datenbank zu befüllen und man Datum und FloatFelder hat.

shmia 27. Feb 2007 16:35

Re: RTTI - Properties setzen
 
Zitat:

Zitat von GuenterS
... aber wie unterscheidet man dann Float Werte von TDateTime Werte?

Über den "PropTypeName":
Delphi-Quellcode:
var
   PropInfos: PPropList;
   PropTypeName : string;
   pi : PPropInfo;
begin
...
      GetPropList(obj.ClassInfo, type_kinds, PropInfos);
...

      for i := 0 to prop_count - 1 do
      begin
         s := '';

         pi := PropInfos^[i];
         PropTypeName := pi.PropType^.Name;
         if PropTypeName='TDateTime' then
            ...

GuenterS 27. Feb 2007 17:46

Re: RTTI - Properties setzen
 
Super, danke das funktioniert :)

shmia 27. Feb 2007 17:49

Re: RTTI - Properties setzen
 
Was hast du denn vor ?
Etwa published Properties in ein Dataset schreiben und lesen?
(das hab ich hier schon fertig in der Schublade :mrgreen: )

GuenterS 27. Feb 2007 17:59

Re: RTTI - Properties setzen
 
Genau das, habe ich vor...

Wobei ich das Dataset aber auslass und direkt ein Insert bzw. Update Statement absetzen will.

GuenterS 10. Apr 2007 16:04

Re: RTTI - Properties setzen
 
Unter einer Applikation funktioniert das mit dem RTTI schon ganz gut, leider scheint es unter einem Service nicht ganz so tolle funktionieren.

Ist darüber schon etwas bekannt?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:24 Uhr.
Seite 1 von 2  1 2      

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