Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Variant konvertieren in TObject (https://www.delphipraxis.net/50113-variant-konvertieren-tobject.html)

skyware 20. Jul 2005 21:03


Variant konvertieren in TObject
 
Hallo zusammen,

ich habe folgendes Problem, bei dem ich hoffe mit Eurer Hilfe eine
Lösung zu finden. :thumb:

ich habe ein Objekt "AObjekt", das ein published Property namens "Test" hat.
Dieses ist vom Type "TObjekt".
Mit der Funktion

Delphi-Quellcode:
var xObjekt : TObjekt

xObjekt := GetPropValue(AObject, 'Test');
möchte in nun dieses "TObjekt" auslesen und der Variabel xObjekt zuweisen.
Die Funktion "GetPropValue" liefert ein Variant zurück, wie kann ich diesen
nun in ein "TObjekt" konvertieren?

Ich hoffe meine Erklärung war einigermassen verständlich :gruebel:

Gruss und Danke im Voraus

Dax 20. Jul 2005 21:04

Re: Variant konvertieren in TObject
 
Durch Zuweisung zu einem TObject? Würde ich mal raten ;) Hab noch nie wirklich mit Variants gearbeitet..

SirThornberry 20. Jul 2005 21:06

Re: Variant konvertieren in TObject
 
direct nach TObject würde nicht funktionieren. Verwende lieber "GetOrdProp". Dies liefert dir das Property als Integer zurück was gleichzeitig ein Zeiger ist was wiederum der Zeiger auf die Instanz ist, also dein Object.

skyware 20. Jul 2005 21:29

Re: Variant konvertieren in TObject
 
Hallo,

Danke für Eure Hilfe, das hat mich auf die richtige Spur geführt :thumb:
Es war der Befehl

Delphi-Quellcode:
GetObjectProp(AObject, APropertyName)
der funktionierte, danke! :coder:

SirThornberry 20. Jul 2005 21:35

Re: Variant konvertieren in TObject
 
die funktion kannte ich noch nicht, ich hab immer GetOrdProp verwendet und das dann zu dem Object gecastet.


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