Einzelnen Beitrag anzeigen

Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

WM_COPYDATA versenden. Frage zu Parameter

  Alt 18. Jul 2012, 12:23
Delphi-Version: 2009
Hallo,

da bin ich wieder

Ich habe im Forum und in Google nach Anwendungsbeispielen zu WM_COPYDATA gesucht und viel gefunden. Nun verstehe ich eine Sache nicht und wollte auch noch Fragen, ob ich den Rest richtig verstanden habe. Also:

WM_COPYDATA hält eine Struktur bereit, die es mir erlaubt, zwischen verschiedenen Prozessen Daten auszutauschen. Dazu fülle ich die Felder der Struktur aus.
  • dwData = Kann beinhalten was es will. Ich muss damit nur was anfangen können.
  • cbData = Ist die Länge der zu übergebenden Daten, damit der Empfänger weiß, wie viel er lesen muss. Ergbit schließlich die Endposition
  • lpData = Ist ein Pointer auf die zu übergebenden Daten (Image, Record, String). Also quasi die Anfangsposition

Ich hoffe, das ist richtig so. Und nun zu dem, was ich nicht verstehe. Wenn ich dies nun per SendMessage versende - so steht's zumindest in alles Codes und Tuts - übergebe ich als WParam das FormHandle, gecastet nach Longint, also so:

  SendMessage(StrToInt(ParamStr(1)), WM_COPYDATA, Longint(Handle), Longint(@aCopyData))); Warum wird beides mal nach LongInt gecastet und warum wird als WParam das (Form)Handle übergeben?

Danke!
  Mit Zitat antworten Zitat