Ich habe hier ein altes Delphi 7 Programm. Das läuft soweit ganz gut.
Jetzt meldet der Kunde ein Problem bei einem speziellen User. Mit einigem an Logging bin ich dem entscheidenden Befehl auf die Schliche gekommen, dessen Ausführung knapp 2 Minuten (!) benötigt.
Die Stelle im Programm sieht aber äußerst unschuldig aus:
Code:
var
OldBar,
ABar : TActionBarItem;
begin
OldBar := GetActionBarItem(ActionMainMenu);
ABar := TGActionManager.ActionBars.Add;
ABar.Assign(OldBar); // braucht 2 Minuten zur Ausführung
end;
Ich hatte zunächst vermutet, dass beim Assign evtl. die Actions upgedatet werden und daher ein OnUpdate länger braucht. Aber die werden beim Assign gar nicht ausgeführt. Ein F7 im Debugger führt auch nur den Assign aus und steht dann auf dem nächsten Befehl, also nichts zum Debuggen im Hintergrund.
Wird auf dem selben Rechner das Programm mit einem anderen User ausgeführt, läuft es prima (Dauer ca. 50ms).
Hat jemand eine Idee, woran die Verzögerung liegen könnte? Oder was bei der Zuweisung so alles ausgeführt wird, wo ich weitersuchen könnnte?
Viele Grüße
SneakL8