Autor Beitrag
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Sa 09.06.12 15:00 
Hallo!

Ich habe meine schon etwas älteren pas-Dateien soweit nötig für Delphi XE2 angepasst. Aber warum funktioniert hiermit www.swissdelphicente...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?

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Sa 09.06.12 15:35 
Die Größe müsste afaik mit WideChar so aussehen

ausblenden 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.

_________________
We are, we were and will not be.
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Sa 09.06.12 17:01 
user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Die Größe müsste afaik mit WideChar so aussehen

ausblenden Delphi-Quelltext
1:
cbData := (StrLen(PChar(Edit1.Text)) + 1) * SizeOf(Char);					
So einfach! Jetzt funktioniert es, vielen Dank!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!