« AllocTranContext (CM) » : différence entre les versions
(Nouvelle page : <source lang='delphi'>function AllocTranContext:Integer;</source> Cette fonction alloue un contexte de transaction. {{info|Cette fonction ne change pas le contexte en cours.}} {|c...) |
Aucun résumé des modifications |
||
(4 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
<source lang='delphi'>function AllocTranContext: | <source lang='delphi'>function AllocTranContext:Int64;</source> | ||
Cette fonction alloue un contexte de transaction. | Cette fonction alloue un contexte de transaction. | ||
{{info|Cette fonction ne change pas le contexte en cours.}} | {{info|Cette fonction ne change pas le contexte en cours.}} | ||
{{Warning|Le type de donnée pour stocker le context doit être un entier 64 bits}} | |||
{|class="wikitable" | {|class="wikitable" | ||
Ligne 10 : | Ligne 11 : | ||
|Un entier représentant un nouveau contexte de transaction | |Un entier représentant un nouveau contexte de transaction | ||
|} | |} | ||
Cette fonction et ses compagnions permettent d'exécuter une transaction dans un contexte séparé du contexte courant. Elles permettent, par exemple, de s'assurer d'une mise d'un objet même si une transaction est en cours et peut éventuellement échouer. | |||
Exemple | Exemple | ||
'''Exécution d'une transaction séparée.''' | |||
<source lang='delphi'> | <source lang='delphi'> | ||
var new,old: | var new,old:Int64; | ||
begin | begin | ||
new := ClassManager.AllocTranContext; | new := ClassManager.AllocTranContext; | ||
old := ClassManager. | old := ClassManager.ActivateContext(new); | ||
try | try | ||
ClassManager.BeginTran; | ClassManager.BeginTran; | ||
Ligne 32 : | Ligne 37 : | ||
</source> | </source> | ||
'''Forme compacte''' | |||
<source lang='delphi'> | <source lang='delphi'> | ||
var old: | var old:Int64; | ||
begin | begin | ||
old := ClassManager. | old := ClassManager.ActivateContext(ClassManager.AllocTranContext); | ||
try | try | ||
ClassManager.BeginTran; | ClassManager.BeginTran; | ||
Ligne 51 : | Ligne 57 : | ||
Voir aussi | Voir aussi | ||
* [[CurrentTranContext (CM)|CurrentTranContext]] | |||
* [[ActivateContext (CM)|ActivateContext]] | |||
* [[DeActivateContext (CM)|DeActivateContext]] | |||
{{Footer|Gestion des transactions (CM)}} | {{Footer|Gestion des transactions (CM)}} | ||
[[category:ClassManager]] | [[category:ClassManager]] | ||
[[category:CMT]] | [[category:CMT]] |
Dernière version du 6 février 2019 à 13:15
<source lang='delphi'>function AllocTranContext:Int64;</source>
Cette fonction alloue un contexte de transaction.
Result | Un entier représentant un nouveau contexte de transaction |
Cette fonction et ses compagnions permettent d'exécuter une transaction dans un contexte séparé du contexte courant. Elles permettent, par exemple, de s'assurer d'une mise d'un objet même si une transaction est en cours et peut éventuellement échouer.
Exemple
Exécution d'une transaction séparée. <source lang='delphi'> var new,old:Int64; begin
new := ClassManager.AllocTranContext; old := ClassManager.ActivateContext(new); try ClassManager.BeginTran; try ... ClassManager.Commit; except ClassManager.RollBack; end; finally ClassManager.DeActivateContext(new); ClassManager.ActivateContext(old); end;
end; </source>
Forme compacte <source lang='delphi'> var old:Int64; begin
old := ClassManager.ActivateContext(ClassManager.AllocTranContext); try ClassManager.BeginTran; try ... ClassManager.Commit; except ClassManager.RollBack; end; finally ClassManager.ActivateContext(old); end;
end; </source>
Voir aussi
{{#if:Gestion des transactions (CM)|
{{#if:Gestion des transactions (CM)|— Gestion des transactions (CM) |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}