AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EConvertError "$"

Ein Thema von EWeiss · begonnen am 25. Apr 2009 · letzter Beitrag vom 26. Apr 2009
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

EConvertError "$"

  Alt 25. Apr 2009, 20:33
Ich bekomme diese Meldung seit 2009.

"$" ist kein gültiger integer wert.

Delphi-Quellcode:
var
GetSys : Integer;
...
GetSys := GetOperatingSystem;
Delphi-Quellcode:
unit uSysInfo;

interface
  uses windows, SysUtils, Messages ;

const
  { operating system (OS)constants }
  cOsUnknown = -1;
  cOsWin95 = 0;
  cOsWin98 = 1;
  cOsWin98SE = 2;
  cOsWinME = 3;
  cOsWinNT = 4;
  cOsWin2000 = 5;
  cOsXP = 6;
  cOsVista = 7;

function GetOperatingSystem: Integer;

implementation

function GetOperatingSystem: Integer;
var
  osVerInfo: TOSVersionInfo;
  majorVer, minorVer: Integer;
begin

  { set operating system type flag }
  osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
  if GetVersionEx(osVerInfo) then
  begin
    majorVer := osVerInfo.dwMajorVersion;
    minorVer := osVerInfo.dwMinorVersion;
    case osVerInfo.dwPlatformId of
      VER_PLATFORM_WIN32_NT: { Windows NT/2000 } 
        begin
          if majorVer <= 4 then
            Result := cOsWinNT
          else if (majorVer = 5) and (minorVer = 0) then
            Result := cOsWin2000
          else if (majorVer = 5) and (minorVer = 1) then
            Result := cOsXP
          else if (majorVer = 6) and (minorVer = 0) then
            Result := cOsVista
          else
            Result := cOsUnknown;
        end;
      VER_PLATFORM_WIN32_WINDOWS: { Windows 9x/ME }
        begin
          if (majorVer = 4) and (minorVer = 0) then
            Result := cOsWin95
          else if (majorVer = 4) and (minorVer = 10) then
          begin
            if osVerInfo.szCSDVersion[1] = 'Athen
              Result := cOsWin98SE
            else
              Result := cOsWin98;
          end
          else if (majorVer = 4) and (minorVer = 90) then
            Result := cOsWinME
          else
            Result := cOsUnknown;
        end;
      else
        Result := cOsUnknown;
    end;
  end
  else
    Result := cOsUnknown;
end;

end.
Das problem hatte ich unter 2006 nicht
Kann mir jemand sagen wo das problem liegt ?

Kann da keinen Fehler entdecken.

gruss Emil
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#2

Re: EConvertError "$"

  Alt 25. Apr 2009, 20:47
[quote="EWeiss"]Ich bekomme diese Meldung seit 2009.

"$" ist kein gültiger integer wert.

Delphi-Quellcode:
...
   VER_PLATFORM_WIN32_WINDOWS: { Windows 9x/ME }
...

Delphi 2009 Anwendungen können auf diesen Windows Versionen nicht laufen.

Der Fehler kann also schon mal nicht in diesem Zweig stecken

Bis wo kommt man denn mit dem Debugger in der Funktion?


Edit: der Code gibt bei mir unter Windows XP den richtigen Wert (6) zurück, ohne Fehlermeldung.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

Re: EConvertError "$"

  Alt 25. Apr 2009, 20:55
[quote="mjustin"]
Zitat von EWeiss:
Ich bekomme diese Meldung seit 2009.

"$" ist kein gültiger integer wert.

Delphi-Quellcode:
...
   VER_PLATFORM_WIN32_WINDOWS: { Windows 9x/ME }
...

Delphi 2009 Anwendungen können auf diesen Windows Versionen nicht laufen.

Der Fehler kann also schon mal nicht in diesem Zweig stecken

Bis wo kommt man denn mit dem Debugger in der Funktion?


Edit: der Code gibt bei mir unter Windows XP den richtigen Wert (6) zurück, ohne Fehlermeldung.
Ja richtig deshalb wundert es mich das hier ein fehler auftritt.
Vorher hatte ich das problem nicht.

Muss nochmal genau debugen.
Hab vielleicht Scheuklappen vor den Augen (Bin nicht mehr der Jüngste) hehehehheee

gruss Emil
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: EConvertError "$"

  Alt 26. Apr 2009, 00:31
Der Fehler muss woanders auftreten, da es hier kein StrToInt() Aufruf gibt.
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#5

Re: EConvertError "$"

  Alt 26. Apr 2009, 09:40
Im Zweifel erst mal auf Unicode schieben und folgendes versuchen?
Delphi-Quellcode:
var
  osVerInfo: TOSVersionInfoA;
  majorVer, minorVer: Integer;
begin

  { set operating system type flag }
  osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfoA);
  if GetVersionExA(osVerInfo) then
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

Re: EConvertError "$"

  Alt 26. Apr 2009, 10:37
Zitat von Muetze1:
Der Fehler muss woanders auftreten, da es hier kein StrToInt() Aufruf gibt.
Ja danke. (Frage mich wir du erkannt hast das es um "StrToInt" geht

Lag an anderer stelle und war ein problem mit UniCode

Delphi-Quellcode:
  for p := 0 to WStyleList.Count - 1 do
  begin
    x := pos(',', WStyleList.Strings[p]);
    WValue.Add(AnsiMidStr(WStyleList.Strings[p], x + 1,
      StrLen(PWideChar(WStyleList.Strings[p]))));
    WStyleList.Strings[p] := AnsiMidStr(WStyleList.Strings[p], 1, x - 1);
  end;
bei PAnsiChar kracht es da die nachfolgenden Buchstaben hinter ´
StrLen(PWideChar(WStyleList.Strings[p])))) abgeschnitten werden.
Dann bleibt von
format('$%8.8x' nur noch ein "$" übrig.

Bei der abfrage von wert
Ivalue := StrToInt(WValue.Strings[p]); kracht es dann natürlich.

Seltsam aber das der Compiler in der zeile stehen bleibt
GetSys := GetOperatingSystem; und nicht hier
Ivalue := StrToInt(WValue.Strings[p]); in einer ganz anderen procedure wo der Fehler auftritt.
Und der witz die ist nicht mal in der gleichen Unit.

gruss Emil
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:02 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