Zitat:
[00A43822]
Vcl.JumpList.
TCustomJumpList.CheckUpdateError (
Line 906,
"Vcl.JumpList.pas" + 8) + $36
[00A43AE1]
Vcl.JumpList.TCustomJumpList.UpdateList (Line 960, "
Vcl.JumpList.pas" + 45) + $23
[00A4299A]
Vcl.JumpList.TCustomJumpList.DoAutoRefresh (Line 545, "
Vcl.JumpList.pas" + 1) + $0
Ja, selbst nachsehn ist einfach, aber Andere .... da kann durch eine andere Delphi-Version oder Update-Stand bissl
was verrutschen, aber dafür ist dann die relative Position gut,
ab dem ersten Begin der Methode.
Delphi-Quellcode:
function TCustomJumpList.CheckUpdateError(ErrNo: HRESULT; const Description: string): Boolean;
var
LHandled: Boolean;
begin
Result := Succeeded(ErrNo);
if not Result then
begin
LHandled := false;
if Assigned(FOnListUpdateError) then
FOnListUpdateError(Self, ErrNo, Description, LHandled);
if not LHandled then
raise EJumpListException.CreateFmt(SJumplistException, [ErrNo, Description]);
end;
end;
Möglicher
Bugfix Fehlerabfangen/-ignorieren:
OnListUpdateError und dort True zurückgeben.
So, nun weiter zur eigentlichen Ursache....
Delphi-Quellcode:
function TCustomJumpList.UpdateList: Boolean;
...
begin
...
if CheckUpdateError(FDestinationList.BeginList(LMaxSlots, IID_IObjectArray, LRemovedTasks), SJumplistErrorBeginlist) then
begin
...
Result := CheckUpdateError(FDestinationList.CommitList, SJumplistErrorCommitlist);
Warum sagt das FDestinationList.CommitList denn nun "Nöööö"?
usw.
Da FDestinationList ein Interface ist und aus diesem Stückchen Code nicht erkennbar ist, was dahinter liegt ... am Enfachsten zur Laufzeit reindebuggen und schauen wo man landet.