Endlich, nach stundenlangem suchen bin ich hier gelandet:
Die Lösung meiner Probleme !!!
Doch,
oh Schreck, das einzige was ich bekomme ist ein AccessViolation Error!!!!
Also, ich habe ebenfalls nach einer Möglichkeit gesucht den mittels LParam übergebenen Zeiger auf eine Stringvariable in einer anderen Anwendung auszulesen.
Ich dachte hier wäre die Lösung meines Problems, aber welche der Lösungen ich auch verwende:
Entweder kommt es zum o.g. Fehler oder es steht nur "Müll" in der Variablen.
Sind die hier dargestellten Lösungen vielleicht doch nicht ganz richtig?
Oder mache ich irgendwo einen Fehler?
Hier der verwendete Code zum Senden:
Delphi-Quellcode:
SendMessage(HWND_BROADCAST, WM_CMSMSG, 0, Integer(PChar(smsg)));
Und hier die Empfangsroutine: (zum Teil aus der JCL)
Delphi-Quellcode:
// JclAppInst Demo
procedure TfrmMain.WndProc(var Msg: TMessage);
begin
// Interprocess communication handler.
// First check whether we can safely read TForm.Handle property ...
if HandleAllocated and not (csDestroying in ComponentState) then
if msg.msg = WM_CMSMSG then
begin
memProtokoll.Lines.add(String(PChar(Pointer(msg.lParam)));
end
else
inherited
else
inherited;
end;
Wo ist der Fehler???
Ich bin am verzweifeln...