Einzelnen Beitrag anzeigen

AXA-Winti

Registriert seit: 5. Mai 2008
3 Beiträge
 
#1

Neue Action von TWindowAction setzt die anderen ausser Kraft

  Alt 18. Aug 2009, 15:23
Hallo zäme

Habe soeben von Delphi 7 auf Delphi 2009 migriert. Dabei habe ich festgestellt, dass folgendes nicht mehr funktioniert:

In meiner MDI-Applikation habe ich eine neue Standard-Action für das Fensterverhalten erstellt:

Delphi-Quellcode:
  TWindowCloseAll = class(TWindowAction)
  public
    procedure ExecuteTarget (obTarget : TObject); override;
  end;

procedure TWindowCloseAll.ExecuteTarget(obTarget: TObject);
var
  iIndex: Integer;
begin
  with GetForm(obTarget) do
    for iIndex := MDIChildCount - 1 downto 0 do
      MDIChildren[iIndex].Close;
end;
Das ganze habe ich auch registriert, so dass es via der ActionList auf dem Formular auswählbar ist:

  RegisterActions('Fenster', [TWindowCloseAll], nil); Damit das ganze auch geht, läuft es in einem Design-Package.

Das ganze hat unter Delphi 7 funktioniert. Jetzt mit Delphi 2009, wenn ich meine Action in der ActionListe dazunehme (noch nicht einmal mit einer Komponente verbinde), werden alle anderen Standard-Actions von Delphi für das Fenster wie z.B. TWindowClose, TWindowTileHorizontal, etc. wirklungslos.

Ich habe dann auch einmal eine Leere Action erstellt und Registriert mit dem selben Phänomen.

Kann mir nicht vorstellen, wo das Problem ist und komme nicht weiter. Für eine Hilfe bin ich sehr dankbar.

Gruss
Stefan
  Mit Zitat antworten Zitat