Re: >= größer kleiner bin ich zu dumm
Zitat:
|
Re: >= größer kleiner bin ich zu dumm
Zitat:
Delphi-Quellcode:
In beiden Strings steht exakt das selbe drin, trotzdem liefert der Vergleich ein False.
var
str0, str1, str2: PChar; begin str0 := '1234'; GetMem(str1, 4); ZeroMemory(str1, 4); GetMem(str2, 4); ZeroMemory(str2, 4); Move(str0^, str1^, 4); Move(str0^, str2^, 4); if str1 = str2 then begin // wird nicht ausgeführt end; end; |
Re: >= größer kleiner bin ich zu dumm
Zitat:
|
Re: >= größer kleiner bin ich zu dumm
Zitat:
|
Re: >= größer kleiner bin ich zu dumm
Da fehlt der Platz für die Nullterminierung, die Variablen brauchen 5 Byte, somit sind sie ohne Nullterminierung nicht als String erkannbar und werden auch von der WinApi usw. nicht akzeptiert.
|
Re: >= größer kleiner bin ich zu dumm
Zitat:
|
Re: >= größer kleiner bin ich zu dumm
Zitat:
|
Re: >= größer kleiner bin ich zu dumm
Stimmt auch wieder.
It's (compiler) magic! - das es bei zugewiesenen PChar-Strings klappt, wahrscheinlich erkennt er das an der Längen/Größenangabe, die nur bei Pascal Strings "links vom Zeiger" abgelegt wird. |
Re: >= größer kleiner bin ich zu dumm
Zitat:
|
Re: >= größer kleiner bin ich zu dumm
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 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