Hat sich Delphi eigentlich nicht wegen des bDeleteAllBusy beschwert,
welches bei (not bIsBusy) nicht initialisiert wird?
erste Zusammenfassung:
Delphi-Quellcode:
for i := Items.Count - 1 downto 0 do
begin
if IsItemBusy(i) and not UserWantsToDeleteAllBusyItems then
Continue;
bCanDelete := not (AOnlySelected and not Items[i].Selected);
if bCanDelete then
Delete(i);
end;
zweite/weitere Zusammenfassung:
Delphi-Quellcode:
var
i: integer;
begin
for i := Items.Count - 1 downto 0 do
if not (IsItemBusy(i) and not UserWantsToDeleteAllBusyItems)
and not (AOnlySelected and not Items[i].Selected) then
Delete(i);
end;
und mit der Userabfrage eventuell so
Delphi-Quellcode:
var
i: integer;
UWD, CalledUWD: boolean;
function GetUWD;
begin
if not CalledUWD then
begin
UWD := UserWantsToDeleteAllBusyItems;
CalledUWD := true;
end;
Result := UWD;
end;
begin
UWD := false;
CalledUWD := false;
for i := Items.Count - 1 downto 0 do
if not (IsItemBusy(i) and not GetUWD)
and not (AOnlySelected and not Items[i].Selected) then
Delete(i);
end;
jetzt bleibt noch eine Frage: hat sich der himi da irgendwo vertan?
[edit]
OK, ein Fehlerchen in GetUWD war schonmal drinnen