AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Char Vergleich: #0 <> ''

Ein Thema von MasterEvil · begonnen am 18. Jun 2007 · letzter Beitrag vom 19. Jun 2007
Antwort Antwort
Seite 2 von 2     12
Robert Marquardt
(Gast)

n/a Beiträge
 
#11

Re: Char Vergleich: #0 <> ''

  Alt 18. Jun 2007, 09:31
Delphi-Quellcode:
  if #0 = 'then
    ShowMessage('gleich')
  else
    ShowMessage('ungleich');
Dieser Code hat nur einen Breakpoint auf der "ungleich"-Zeile. Der Compiler hat also den if-Teil wegoptimiert. Das gilt fuer D6 und Turbo.
Delphi-Quellcode:
var
  a: Char;
begin
  a := #0;
  if a = 'then
    ShowMessage('gleich')
  else
    ShowMessage('ungleich');
Dieser Code gibt fuer D6 und Turbo hingegen "gleich" aus.
das sieht nach einem echten Compilerfehler aus.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#12

Re: Char Vergleich: #0 <> ''

  Alt 18. Jun 2007, 09:34
Hallo,

folgendes findet man in der Datei "readme_upd2.htm":

Zitat von Borland Developer Studio 2006, Update 2 Release-Hinweise:
Das Kompatibilitätsverhalten von TWideChar/String hat sich in Borland Developer Studio 2006 geändert. Unter Borland Developer Studio 2005 und früher ergab folgende Funktion TRUE. Nun ergibt sie FALSE.

Code:
function DoIt: Boolean;
var
  C: WideChar;
begin
   C := #0;
   if C = '' then
      Result := TRUE
  else
     Result := FALSE;
end;
Dieses Verhalten ist mit dem Verhalten des .NET-Compilers konsistent, könnte sich aber auf bestehenden Code auswirken.

Bei AnsiChar in Win32 gibt es ein ähnliches Verhalten, dass aber noch nicht geändert wurde, so dass es immer noch TRUE ergibt.
Es gibt auch einen zugehörigen Eintrag bei Quality Central.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von MasterEvil
MasterEvil

Registriert seit: 12. Feb 2005
Ort: Hannover
234 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Char Vergleich: #0 <> ''

  Alt 19. Jun 2007, 14:16
Danke! Das beschreibt das Problem.

Im QC Report steht auch genau unser Problem drin:
Zitat:
Normally, I would consider this issue a corner case, however, at least one third party library (XML Partner from Turbo Power) has encountered this change.
Das XML Partner hat uns zu schaffen gemacht. Haben jetzt einfach alle Stellen die wir gefunden haben umgeändert.

Gruß,
Steffen
  Mit Zitat antworten Zitat
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 15:56 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