DeleteObjects (objectlist)
<source lang='delphi'>procedure DeleteObjects(iStopOnError:boolean);</source>
Cette procédure supprime les objets de la liste.
iStopOnError | Stoppe si une erreur se produit |
- Si une transaction est ouverte la suppression se fait dans la transaction courante
- Si aucune transaction n'est ouverte une transaction séparée est utilisé
Pseudo code équivalent: <source lang="delphi">
procedure doDeletes(iStopOnError:boolean); var idx:Integer; aRef:TitObject; begin
// // Delete all the objects. // for idx:=Count-1 downto 0 do begin aRef := Refs[idx].Instance; if Assigned(aRef) then aRef._AddRef; Delete(idx); try if Assigned(aRef) then begin aRef.Deleted := TRUE; end; except if iStopOnError then begin Insert(idx,aRef); if Assigned(aRef) then aRef._Release; raise; end; end; if Assigned(aRef) then aRef._Garbage; end;
end;
procedure DeleteObjects(iStopOnError:boolean); begin
if ClassManager.TranCount>0 then begin // instances are removed from the list doDeletes(iStopOnError); end else begin old := ClassManager.NewTransContext; try ClassManager.BeginTran; try doDeletes(iStopOnError); ClassManager.Commit([coNoConfirmDialog]); except Classmanager.RollBack; raise ; end; finally ClassManager.ActivateContext(old); end; end;
end;
</source>
Voir aussi:
{{#if:Listes d'objets (tech)|
{{#if:Listes d'objets (tech)|— Listes d'objets (tech) |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}