Einzelnen Beitrag anzeigen

Anthauri

Registriert seit: 1. Feb 2004
61 Beiträge
 
Delphi 6 Personal
 
#1

Problem mit WMCopyData und Aufruf eigener Prozeduren

  Alt 24. Okt 2007, 19:58
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?
  Mit Zitat antworten Zitat