Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variant als Ergeb. einer Function (https://www.delphipraxis.net/100050-variant-als-ergeb-einer-function.html)

PMM 21. Sep 2007 14:33


Variant als Ergeb. einer Function
 
Ich habe eine Function mit einem Ergebnis vom Type Variant.
Nun versuche ich, das Ergebnis zu initialisiern. Also etwa so:
Delphi-Quellcode:
Function MyFoo:Variant;
Begin
  result := Unassigned;
  :
Sporadisch (häufig) geht das, zur Laufzeit, schief, da angeblich eine unzulässige Typenumwandlung vorliegt.
Auch ClearVar(result), result := NULL usw. scheitern. Mein Workaround ist:
Delphi-Quellcode:
 
TVarData(result).VType := 0;
Das funktioniert (zumindst bis her). Die Ursache ist offenbar, dass im, ja noch nicht initialisierten, "result" das VType auf einem Wert steht, welcher jede folgende Initialisierung des Result unmöglich macht.
Ist das ein bekanntes Verhalten, oder mache ich da was falsch?
PMM


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