Hallo zusammen,
aus meinen zuletzt gestellten Fragen hier im Forum resultierte über die Antworten eurerseits eine Kommunikation zwischen zweien meiner Programme über WMCopyData. Hierbei werden Strings übergeben.
Funktioniert soweit auch gut.
Aber in derjenigen Prozedur, die die Daten empfängt soll in Abhängigkeit von dem empfangenen Inhalt unterschiedlich reagiert werden.
Ich habe also vor den empfangenen String zu analysieren und dementsprechend andere meiner Prozeduren in dem Programm aufzurufen
Aktuell sieht das so aus (vereinfacht):
Delphi-Quellcode:
type
TFORM1: class(Tform)
Procedure Daten_A(Sender: TObject);
...
Private
procedure WMCopyData(var Msg: TWMCopyData); message WM_COPYDATA;
Var
Cometext: String;
...
procedure Tform1.Daten_A(Sender: TObject);
begin
##tue etwas##
end;
procedure Tform1.WMCopyData(var Msg: TWMCopyData);//empfänger
begin
cometext := String(Msg.CopyDataStruct.lpData);
##hier findet die Analyse des Strings statt die ich zum testen entfernt habe##
Daten_A(Sender); //Aufruf der zuvor definierten Prozedur
end;
Und der zuletzt in der Prozedur befindliche Aufruf ist das Problem, denn der Compiler meckert über das "Daten_A(Sender);" und sagt, dass es "Sender" nicht kennt.
[Error] Form1_u.pas(161): Undeclared identifier: 'sender'.
Kann man aus der Empfangroutine keine anderen Prozeduren aufrufen?
Die Prodeur von einem anderen Punkt des Programms aus aufzurufen geht ohne Probleme.
Muß die Definition der WMCopyData Prozedur wonaders hin?
Kann jemand helfen?