Versturen van gegevens via messages tussen twee programma's
Hallo ,
Ik wil graag gegevens versturen tussen twee programma's ,
m.b.v. messages.
Ik heb 1 programma dat een stylesheet editor is die zowel los en als een
plugin moet kunnen werken met een ander programma's
vanuit 1 programma waarin ik bijvoorbeeld een pagina met links wil maken
die moet de stylesheet editor aanroepen.
de stylesheet editor die moet de filenaam van de bijbehorende data bestand
ontvangen en vervolgens gegevens terug sturen die bij dat bestand horen,
(de data bestand resource code , lijst met class namen v/d stylesheet en een
bevestiging of het process goed is verlopen).
Het versturen van reply door de stylesheet editor gaat als volgt
Code:
Const Plugin_Prg_Name = 'Test';
Plugin_Prg_Classname = 'TdlgTest';
const MSG_REPLY = WM_USER + 4040;
Procedure msgReply_Accept;
Begin
ReplyMsg(Plugin_Prg_Name,Plugin_Prg_Classname,'Accepted');
End;
procedure ReplyMsg(Name,Classname,Msg:String);
var Hw:Hwnd;
begin
hw := findwindow(pchar(classname),pchar(name));
SendMessage(Hw,MSG_REPLY, 0, DWORD(PCHAR(Msg)));
end;
Vervolgens moet het andere programma de gegevens ontvangen.
Code:
type
TdlgTest = class(TForm)
private
public
procedure MessageReceiver(var msg: TMessage); message MSG_REPLY;
end;
..........
procedure TdlgTest.MessageReceiver(var msg: TMessage);
var txt: PChar;
begin
txt := PChar(msg.lParam);
ShowMessage(txt);
end;
Opzich werkt dit wel , maar de ontvangende programma
hoort dus in deze voorbeeld de text te ontvangen 'accepted' en dan
in de showmessage weer te geven , maar de txt blijft hier leeg.
Weet iemand wat ik fout doe of een andere oplossing ?
alvast bedankt , kuntao