Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#22

AW: String gleich aber doch nicht gleich...

  Alt 9. Sep 2012, 20:00
Das SizeOf bei GetWindowText ist falsch. Die Funktion möchte die maximale Anzahl an Zeichen (Char) haben und nicht die Byte-Größe (Quelle MSDN: "The maximum number of characters to copy to the buffer").

Mit SizeOf(Buf) bekommst du ab Delphi 2009 (Unicode) die doppelte Anzahl zurück, da SizeOf(Char) = 2 ist und somit "257*2" zurückkommt. GetWindowText möchte aber nicht die Byte-Größe, sondern die "Anzahl der verfügbaren Zeichen". Und die ermittelt man über Length.
Danke..
Da hab ich wohl ein Thema angestoßen ich denke viel nicht Studierte Schreiber dürften damit probleme haben.


gruss
  Mit Zitat antworten Zitat