![]() |
Re: Programm über SendMessage kontrollieren
Nö siehst du falsch.
Sollte alles in s vorliegen. Überprüfe es doch einfach mal. Ich übergebe ja nur den pointer auf das erste Zeichen und er kopiert dann msg.lparam zeichen an diese Adresse. Aber hintereinander. Und mit setlength(s,..) hab ich genügend speicherplatz reserviert. |
Re: Programm über SendMessage kontrollieren
Hi, ok, jetzt hab ichs auch... ich hab nur noch ein riesen problem, das habe ich jetzt erst bemerkt
in der funktion, wo ich die daten empfange... angenommen, ich habe die daten die ich empfangen habe in einen string kopiert, z.b. data : String; wenn ich jetzt versuche mit diesem string weiterzuarbeiten geht garnichts mehr. ich versuche lediglich folgenden code anzuwenden:
Delphi-Quellcode:
doch anstatt den ... sehe ich nur leerzeichen, ich hab keine peilung warum ???
showmessage(Data + '...');
|
Re: Programm über SendMessage kontrollieren
Entschuldige PChar und String auf die harte Tour zu verainbaren ist nicht so einfach:
Delphi-Quellcode:
procedure xxx.receive(var msg:TMessage);
var s:string; begin setlength(s,msg.lparam+1); l:=globalgetatomname(msg.wparam,@s[1],msg.lparam+1); setlength(s,msg.lparam); end; |
Re: Programm über SendMessage kontrollieren
Da ich gerade dabei bin das ganze hier nachzuvollziehen aber immer wieder scheitere, weil im empfangenden Programm nichts ankommt, frage ich mich nun ernsthaft wodurch denn die Recieve-procedure aufgerufen oder ausgelöst werden soll.
Ich habe mal die durch xxx angegebenen namen durch meine ersetzt. ich hoffe es liegt nicht daran...:-)
Delphi-Quellcode:
Habe ich etwas wichtiges vergessen???
public
{ Public-Deklarationen } procedure Receive(var msg:TMessage);message wm_user+10; end; procedure TForm1.Receive(var msg:TMessage); var s:string; l:cardinal; begin ShowMessage('kommt was!'); // wird nicht aufgerufen, daher die vermutung, dass die procedure nicht aufgerufen wird... SetLength(s,msg.lparam); l:=GlobalGetAtomName(msg.wparam,@s[1],msg.lparam+1); setlength(s,msg.lparam); ShowMessage(s); //wird nicht angezeigt end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz