galagher - Sa 09.06.12 15:00
Titel: Delphi XE2 und String an anderes Fenster senden
Hallo!
Ich habe meine schon etwas älteren pas-Dateien soweit nötig für Delphi XE2 angepasst. Aber warum funktioniert hiermit
http://www.swissdelphicenter.ch/de/showcode.php?id=1242 das Übersenden zB. eines Strings an ein Fenster eines anderen (von mir geschriebenen) Programmes nicht mehr? Es kommt entweder nichts an oder der String ist zu kurz, und
cbData := StrLen(PChar(Edit1.Text)) + 1; klappt überhaupt nicht.
Gebe ich hier eine fixe Zahl an, klappt es zwar, aber irgendwann kommt ein Zugriffsfehler. Ändern von PChar auf PAnsiChar nützt nichts.
Mit anderen Worten: Das funktioniert einfach nicht mehr. Dabei hatte ich so ähnlichen Code (= die Teile, die den Textstring verarbeiten) fix und fertig in einer eigenen pas-Datei und musste einfach nur die Prozedur
SendText( aufrufen. :autsch:
Was passt hier nicht mehr?
Gausi - Sa 09.06.12 15:35
Die Größe müsste afaik mit WideChar so aussehen
Delphi-Quelltext
1:
| cbData := (StrLen(PChar(Edit1.Text)) + 1) * SizeOf(Char); |
Ein reines Umstellen auf PAnsiChar hat wahrscheinlich nicht geklappt, weil die ganzen API-Aufrufe in dem Code bei XE2 die Wide-Variante nutzen.