![]() |
AW: TJumpList ist recht eigenwillig
Code:
hmmmmmmmmmmmmmmm? :gruebel:
-2147023721
$80070497 S Severity = 1 = Failure R Second Severity = 0 (z.B. 1=Warning oder Hint) C Customer Defined = 0 N 0 X 0 FFF Facility = Win32 CCCC Code = $0497 = ERROR_UNABLE_TO_REMOVE_REPLACED Die zu ersetzende Datei kann nicht entfernt werden. 1175 (0x497) -> ![]()
Delphi-Quellcode:
ShowMessage(SysErrorMessage($80070497)); // Cardinal o_O
RaiseLastOSError(-2147023721); // Integer |
AW: TJumpList ist recht eigenwillig
Zitat:
Zitat:
|
AW: TJumpList ist recht eigenwillig
Wenn es wirklich ein Dateizugriffsproblem sein sollte, kommt natürlich automatisch das Antivirenprogramm in den Blickpunkt.
Außerdem könntest du den Process Monitor mitlaufen lassen und, wenn der Fehler auftritt, nachschauen, ob da Fehler geloggt werden. |
AW: TJumpList ist recht eigenwillig
Ich habe mal ein Minimalprogramm erstellt. Hier ist er auch da.
Delphi-Quellcode:
Die Idee mit dem Virenscanner scheint ziemlich gut gewesen zu sein. Wenn der abgeschaltet ist, geht es anscheinend ohne Fehlermeldung. Also erstmal danke.
procedure TForm1.btn1Click(Sender: TObject);
var item: TJumpListItem; begin JumpList1.AddCategory('eins'); JumpList1.AddCategory('zwei'); item := JumpList1.TaskList.Add as TJumpListItem; item.FriendlyName := 'OSK'; item.path := 'C:\Windows\System32\osk.exe'; item.Icon := 'C:\Windows\System32\osk.exe'; for var i := 0 to 4 do begin item := JumpList1.CustomCategories[0].Items.Add as TJumpListItem; with item do begin path := Application.ExeName; Arguments := 'Test'+i.ToString; FriendlyName := 'Test'+i.ToString; path := Application.ExeName; icon := Application.ExeName end; end; end; Jetzt muss ich nur noch herausbekommen, wie ich dem Scanner abgewöhne dort zu stänkern. Kann ja nicht ständig das Internet abschalten. Schlucken tut er ihn nicht. Na ja, wollte sowieso wechseln. |
AW: TJumpList ist recht eigenwillig
Vielleicht reicht es ja, wenn du die Exe oder das von dir genannte Verzeichnis als Ausnahme hinzufügst.
|
AW: TJumpList ist recht eigenwillig
Geht leider nicht, das Verzeichnis "existiert nicht". Wenn ich es oberhalb mit 'recent' - also 'Zuletzt verwendet' versuche, will er gleich den ganzen Dokumentenornder raus nehmen. Den würde ich aber eher ungern aus der Überwachung entfernen.
Bleibt noch die Frage, was macht C# anders, dass der Fehler dort nicht auftritt? |
AW: TJumpList ist recht eigenwillig
Zitat:
Das ist zwar keine Lösung des wirklichen Problems, aber Du kannst den Fehler fangen. |
AW: TJumpList ist recht eigenwillig
Vielleicht nicht unbedingt "blind" ein
Delphi-Quellcode:
, aber zumindestens
Result := True;
Delphi-Quellcode:
.
Result := WinErrorCode = $80070497;
|
AW: TJumpList ist recht eigenwillig
Zitat:
Allerdings scheint es zu funktionieren. Selbst wenn der Fehler auftritt landet wohl alles was soll auch in der Liste. Sie soll ja sowieso nur funktionieren, so lange das Programm läuft, vielleicht hat Windows dann alles im Speicher. Mit Bauchschmerzen wäre es eine Lösung. Falls die zu stark werden kann ich es ja immer noch in C# umschreiben. Dabei wollte ich nach fast zwei Jahren mal wieder etwas mit Delphi machen. Also Danke an alle, die versucht haben mir zu helfen. |
AW: TJumpList ist recht eigenwillig
Zumindestens kannst du es dort still und heimlich loggen, damit es nicht ganz verschwindet.
Und jupp, darum auch die Einschränkung auf den einen Fehlercode, damit andere Fehler dennoch gezeigt werden. Zitat:
aber prinzipiell haben wir für die MAPI, mit Dateianhängen an Outlook, auch ein C#-Konsolenprogramm gebastelt, was die OfficeAPI im .NET nutzt, weil MSOffice mag die MAPI oft nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz