BeginUpdate (role)
De Wiki1000
Version du 8 janvier 2010 à 14:42 par Syfre (discuter | contributions)
procedure BeginUpdate;
Cette procédure indique le début d'un ensemble d'opérations dans le rôle.
Pas de paramètre. |
Exemple
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;
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