BeginUpdate (role)
<source lang='delphi'>procedure BeginUpdate;</source>
Cette procédure indique le début d'un ensemble d'opérations dans le rôle.
| Pas de paramètre. |
Exemple
<source lang='delphi'>
var inst:WFClasseC; idx:Integer; t1,t2,t3:longint;
begin
WFClasseCList.BeginUpdate;
try
t1 := GetTickCount;
ClassManager.BeginLongTran(100,'WFClasseC');
ClassManager.TranAutoBatch := True;
try
for idx:=0 to ACount-1 do
begin
inst := WFClasseC.Create;
inst.oidWFClasseARef := OID;
inst.uneChaine := uneChaine +'-'+ inttostr(idx);
end;
t2 := GetTickCount;
ClassManager.CommitLongTran;
t3 := GetTickCount;
ShowMessage(Format('batch:%d loop:%s commit:%s',[
ClassManager.TranBatchCount,
TickToString(t2-t1),
TickTostring(t3-t2)]));
except
ClassManager.RollBackLongTran;
raise;
end;
finally
WFClasseCList.EndUpdate;
end;
end; </source>
Résultat de l'exécution lorsque le code est appelé d'une interface affichant une grille sur le rôle liste (Création de 110 objets) :
- Sans BeginUpdate/EndUpdate : 216757 ms
- Avec BeginUpdate/EndUpdate : 180 ms
Voir aussi
{{#if:Rôles (tech)|
{{#if:Rôles (tech)|— Rôles (tech) |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}