ICentralPlugin:Execute

Aus Sceneo Wiki

Wechseln zu: Navigation, Suche

Die Funktion wird vom TVC Core aufgerufen wenn Nachrichten an das Plugin gesendet werden. Grundsätzlich ist zu Unterscheiden zwischen Nachrichten die direkt an diese PlugIn gerichtet sind und sogenannten "feed" Nachrichten die in einem Broadcast an alle Plugins gehen.

Eine Implementation kann wir folgt auschauen

Delphi Beispiel 1

procedure TPluginMenu.Execute(const Core: ITVcentralServer; const Msg: IMessageItem);
var item : IMenuItem;
begin
  if Msg.IsMessage('test-open') then begin

  end;

  // alternativ
  if Msg.Command = 'test-open' then begin

  end;
end;

Wenn nötig können/sollten folgende Nachrichten in der Methode behandelt werden:

Delphi Beispiel 2

 if Msg.IsMessage('system') then begin
   if (String(Msg.Value) = 'resize') or (String(Msg.Value) = 'window-changed') then begin
     // TVC Fenster wurde in der Größe verändert oder minimiert/maximiert etc.
   end else if String(Msg.Value)='apm.resume' then begin
     // Rechner kommt aus dem Standby
   end else if String(Msg.Value)='apm.resume-suspend' then begin
     // 
   end else if String(Msg.Value)='apm.resume-automatic' then begin
     // Rechner kommt automatisch aus dem Standby 
   end;

Wie auf Eingabe-Kommandos zu reagieren ist, wie sie im <controls>-Abschnitt eines Screenfile definiert wurden, zeigt das folgende Beispiel:

Delphi Beispiel 3

 if Msg.IsMessage('control') then begin
   if (Msg.Value = 'exit') then begin
     ...
   end;
 end;
Persönliche Werkzeuge