Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Herausfinden, welchen Typs (z.B.Boolean) eine Property ist? (https://www.delphipraxis.net/112236-herausfinden-welchen-typs-z-b-boolean-eine-property-ist.html)

webcss 17. Apr 2008 10:16


Herausfinden, welchen Typs (z.B.Boolean) eine Property ist?
 
Hallo,

wie ich die Standard-Typen einer Property mittels RTTI ermittle weiss ich bereits.
Wie aber finde ich heraus ob eine Property z.B. vom Typ Boolean oder Currency ist?

Danke schonmal :wink:

stahli 17. Apr 2008 11:12

Re: Herausfinden, welchen Typs (z.B.Boolean) eine Property i
 
meinst Du das?

Delphi-Quellcode:
    if PropIsType(DCustom, DataName, tkLString) then
    begin
      ...
    end
    else
    if PropIsType(DCustom, DataName, tkInteger) then
    begin
      ...
    end
(die anderen möglichen Werte kann ich gerade nicht nachschauen)


stahli

nicodex 17. Apr 2008 11:54

Re: Herausfinden, welchen Typs (z.B.Boolean) eine Property i
 
Zitat:

Zitat von webcss
wie ich die Standard-Typen einer Property mittels RTTI ermittle weiss ich bereits.
Wie aber finde ich heraus ob eine Property z.B. vom Typ Boolean oder Currency ist?

Nachdem du mit den Antworten auf deine letzte Frage unzufrieden warst...
(es gab da wohl einen zu großen Unterschied zwischen der Frage die sich dir gestellt hat, und der Frage die du im Forum gestellt hast)

Was ist für dich der Unterschied zwischen einem "Standard-Typen" und einem "Typ" eines Properties?

webcss 17. Apr 2008 13:18

Re: Herausfinden, welchen Typs (z.B.Boolean) eine Property i
 
Zitat:

Zitat von nicodex
Nachdem du mit den Antworten auf deine letzte Frage unzufrieden warst...
(es gab da wohl einen zu großen Unterschied zwischen der Frage die sich dir gestellt hat, und der Frage die du im Forum gestellt hast)

Meine Frage war eindeutig (Wie kann ich feststellen, ob eine Property vom Vorfahren einer Klasse geerbt wurde oder erst im Nachfahren definiert wurde?). Die Antworten waren einmal ..das geht mit RTTI.. (wusste ich schon, stand auch in meiner Frage) und das das nur mit Published-Properties geht (an der Fragestellung vorbei).

Zitat:

Was ist für dich der Unterschied zwischen einem "Standard-Typen" und einem "Typ" eines Properties?
OK, vielleicht etwas undeutlich: mit Standard-Typen meine ich die in TTypeKind(unit TypInfo) deklarierten, und da sind Boolean, Currency und TDateTime nunmal nicht dabei. Genau diese möchte ich speziell herausfinden.

Danke schonmal.

nicodex 17. Apr 2008 13:31

Re: Herausfinden, welchen Typs (z.B.Boolean) eine Property i
 
Zitat:

Zitat von webcss
Meine Frage war eindeutig (Wie kann ich feststellen, ob eine Property vom Vorfahren einer Klasse geerbt wurde oder erst im Nachfahren definiert wurde?). Die Antworten waren einmal ..das geht mit RTTI.. (wusste ich schon, stand auch in meiner Frage) und das das nur mit Published-Properties geht (an der Fragestellung vorbei).

Wir brauchen uns darüber nicht streiten. Mein Quelltext hat deine Frage insofern beantwortet, dass er ein Beispiel aufzeigt, bei dem es nicht geht (Property wurde erst in der abgeleiteten Klasse als published definiert - deshalb gibt es in der Basisklasse keine RTTI-Informationen zu dem dennoch existierenden Property).

Zitat:

Zitat von webcss
mit Standard-Typen meine ich die in TTypeKind(unit TypInfo) deklarierten, und da sind Boolean, Currency und TDateTime nunmal nicht dabei. Genau diese möchte ich speziell herausfinden.

TTypeInfo enthält neben 'Kind' auch 'Name'. Ansonsten kommt man mittels GetTypeData() an die zusätzlichen Informationen (siehe Beispiel im anderen Thread).

bitsetter 17. Apr 2008 16:57

Re: Herausfinden, welchen Typs (z.B.Boolean) eine Property i
 
Zitat:

Zitat von nicodex
Nachdem du mit den Antworten auf deine letzte Frage unzufrieden warst...

Dafür hat deine Antwort auf seine Frage mir weitergeholfen. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:41 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