Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Rückgabewert der Sendmessage funktion

  Alt 5. Jan 2007, 18:49
Du kannst so einfach keine Zeichenketten über IPC verschicken.

Dein Pchar ist ja nur ein Zeiger. Den sendest du auch, aber in dem anderen Prozess, wo das Result (also der Zeiger auf 'Foo' ankommt, kann 'Foo' nicht gelesen werden, da du dich in zwei verschiedenen Adressräumen befindest.

Also ein Pointer oder PChar in Prozess 1 zeigt auf eine ganz andere reale Adresse als derselbe Pointer in Prozess 2.

Du hast nur 32 bit (also 4 Bytes) zum versenden. Demzufolge würde sogar ein 'Foo' reinpassen, nur anders als du es gemacht hast. du darfst nicht den Zeiger versenden, sondern den Inhalt des Zeigers.

Längere Zeichenketten gehen allerdings nicht mehr. Für Zeichenketten versenden bieten sich generell "global Atoms" an.
  Mit Zitat antworten Zitat