![]() |
Variant Problem...
Hallo!
Ich hab folgende Prozedur:
Delphi-Quellcode:
Es wird ein String übergeben und sollte ein Double zurück kommen.
function StrToKey(var AString: Variant): boolean;
begin result := false; if AString = 'HKCU' then begin AString := HKEY_CURRENT_USER; result := true; end; if AString = 'HKLM' then begin AString := HKEY_LOCAL_MACHINE; result := true; end; if AString = 'HKU' then begin AString := HKEY_USERS; result := true; end; if AString = 'HKCC' then begin AString := HKEY_CURRENT_CONFIG; result := true; end; if AString = 'HKCR' then begin AString := HKEY_CLASSES_ROOT; result := true; end; end; Nur kommt immer eine Fehlermeldung, dass ein Fehler beim konvertieren auftrat... :gruebel: |
Re: Variant Problem...
Hi faux,
ein Blick in den Debugger wird dir zeigen, dass die Fehlermeldung dann auftritt, wenn du bereits einen Double-Wert in deine Variable eingetragen hast und dann die nächste if-Abfrage aufgerufen wird. Dort wird nämlich versucht, ein Double-Wert mit einem String zu vergleichen und das kracht! Deshalb nach jeden result := true ein exit! Möglich wäre auch ein VarToStr(AString) = ... aber das ist mit Sicherheit langsamer. MfG Stevie |
Re: Variant Problem...
Oder so:
Delphi-Quellcode:
Grüße
function StrToKey(var AString: Variant): boolean;
begin result := false; if AString = 'HKCU' then begin AString := HKEY_CURRENT_USER; result := true; end else if AString = 'HKLM' then begin AString := HKEY_LOCAL_MACHINE; result := true; end else if AString = 'HKU' then begin AString := HKEY_USERS; result := true; end else if AString = 'HKCC' then begin AString := HKEY_CURRENT_CONFIG; result := true; end else if AString = 'HKCR' then begin AString := HKEY_CLASSES_ROOT; result := true; end; end; Frank |
DP-Maintenance
Dieses Thema wurde von "Sharky" von "VCL-Komponenten und Controls" nach "Sonstige Fragen zu Delphi" verschoben.
Wo ist denn da die Datenbankfrage? ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz