AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Windows Leistungsindex

Ein Thema von PeterPanino · begonnen am 8. Sep 2018 · letzter Beitrag vom 10. Sep 2018
Antwort Antwort
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Windows Leistungsindex

  Alt 9. Sep 2018, 08:14
... und if VarIsNull(SN) wird niemals False liefer, da SN den falschen Typen hat.
Noch besser ist aber, dass der Fehler, welcher damit abgefangen werden sollte, schon vorher knallt, wenn versucht wird Null an SN zuzuweisen.
Die Frage ist vielmehr, ob der Fehler nicht schon in SN := SProp.Get_Value; liegt, wo einer String-Typ-Variablen (SN) ein Ergebnis vom Typ OleVariant zugewiesen wird. Wieso meckert da der Compiler nicht?

Geändert von PeterPanino ( 9. Sep 2018 um 08:25 Uhr)
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Windows Leistungsindex

  Alt 9. Sep 2018, 08:35
... und if VarIsNull(SN) wird niemals False liefer, da SN den falschen Typen hat.
Noch besser ist aber, dass der Fehler, welcher damit abgefangen werden sollte, schon vorher knallt, wenn versucht wird Null an SN zuzuweisen.
Die Frage ist vielmehr, ob der Fehler nicht schon in SN := SProp.Get_Value; liegt, wo einer String-Typ-Variablen (SN) ein Ergebnis vom Typ OleVariant zugewiesen wird. Wieso meckert da der Compiler nicht?
So wäre es wahrscheinlich korrekt:

Delphi-Quellcode:
SN := string(SProp.Get_Value);

//if not VarIsNull(SN) then
if SN <> 'then
begin
  Result := SN;
  Break;
end;
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#3

AW: Windows Leistungsindex

  Alt 9. Sep 2018, 08:58
Delphi-Referenz durchsuchenSystem.Variants.VarToStr

Wahrscheinlich wäre es besser, wenn du mal ausprobieren würdest, wie dein Code bei NULL reagiert, dann wird aus Vermutung Gewissheit und aus Ahnung Wissen.

Geändert von Schokohase ( 9. Sep 2018 um 09:00 Uhr)
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Windows Leistungsindex

  Alt 9. Sep 2018, 09:17
System.Variants.VarToStr
Danke, System.Variants.VarToStr ist noch besser, weil es bei einem NULL-Ergebnis von Get_Value automatisch einen Leerstring zurückliefert.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Windows Leistungsindex

  Alt 9. Sep 2018, 10:12
... dann wird aus Vermutung Gewissheit und aus Ahnung Wissen.
Danke, ich schätze die Menschen bei Delphi-PRAXIS nicht nur wegen ihres Experten-Wissens, sondern auch wegen ihrer philosophischen Aussagen!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.342 Beiträge
 
Delphi 12 Athens
 
#6

AW: Windows Leistungsindex

  Alt 10. Sep 2018, 12:37
Die Frage ist vielmehr, ob der Fehler nicht schon in SN := SProp.Get_Value; liegt, wo einer String-Typ-Variablen (SN) ein Ergebnis vom Typ OleVariant zugewiesen wird. Wieso meckert da der Compiler nicht?
Er würde da meckern, aber das merkt keiner, wegen dem leeren Try-Except.

Egal ob nun implizit oder explizit gecastet.


Der Code mit var SN: Variant; oder eben VarToStr oder Dergleichen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (10. Sep 2018 um 12:40 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:06 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