BeginCapture (CTX)
procedure BeginCapture;
Démarre la capture des messages.
- Si une capture était déjà en cours la liste des messages capturés est réinitialisée.
- Lorsqu'un processus est exécuté dans le cadre d'un automate ou d'un processus métier la capture n'est pas possible, les messages ne sont pas capturés.
Exemple :
//Procedure TestCaptureMessages;
var S:String; idx:Integer; ls:TStringList;
begin
// This message will not be captured
ProgressMessage('Msg-0');
// Start capture
UserContext.BeginCapture;
try
// Simulate message from processus
ProgressMessage('Msg-1');
ProgressMessage('Msg-2');
// Add a message
UserContext.AddMessage('Msgs-3');
// Get messages with a loop
S := '';
for idx:=0 to UserContext.MessageCount-1 do
S := S+UserContext.Messages[idx];
ShowMessage(S);
// Copy message in a string list
ls := TStringList.Create;
UserContext.GetMessages(ls);
ShowMessage(ls.Text);
// Clear the captured message list
UserContext.ClearMessages;
// The list is empty
S := '';
for idx:=0 to UserContext.MessageCount-1 do
S := S+UserContext.Messages[idx];
ShowMessage(S);
finally
UserContext.EndCapture;
end;
end;
Voir aussi