« BinaryData (TImportContext) » : différence entre les versions
(Page créée avec « <source lang='delphi'>property BinaryData:TfwBinary;</source> Cette propriété de type binaire permet de définir les données à importer lorsque cel... ») |
Aucun résumé des modifications |
||
Ligne 2 : | Ligne 2 : | ||
Cette propriété de [[Binaire_(type)|type binaire]] permet de définir les données à importer lorsque celle-ci sont contenues dans un objet binaire. | Cette propriété de [[Binaire_(type)|type binaire]] permet de définir les données à importer lorsque celle-ci sont contenues dans un objet binaire. | ||
Exemple : | |||
Importation des données contenues dans un message de file d'attente | |||
<source lang="delphi"> | |||
unit TestSYFREWF; | |||
interface | |||
Type | |||
ProcessusImport = Class(TitObject) | |||
public | |||
Procedure doImport(aMsg:TdbmQueueMessage); | |||
Procedure Execute; | |||
end; | |||
Implementation | |||
{ProcessusImport} | |||
Procedure ProcessusImport.doImport(aMsg:TdbmQueueMessage); | |||
//procedure doImport(aMsg:TdbmQueueMessage); | |||
var instB:WFClasseB; inst:TImportContext; | |||
begin | |||
withP Transaction do | |||
begin | |||
instB := WFClasseB.Create; | |||
instB.unCode := 'B'+FormatDateTime('c',Now); | |||
instB.Caption := 'Session:'+instB.unCode; | |||
end; | |||
inst := TImportContext.Create; | |||
inst.ShareMode.Value := ISM_DEFAULT; | |||
inst.ImportMode := miInsert+miUpdate+miDisableEvents; | |||
inst.AdditionalValues.Values['uneChaine'] := 'uneChaineValue'; | |||
inst.AdditionalValues.Values['unEntier'] := 1; | |||
inst.AdditionalValues.Values['unEtat:AsVariant'] := WFCAState_Etat1; | |||
inst.AdditionalValues.Values['oidWFClasseBRef'] := instB.InstanceOID; | |||
// | |||
inst.BinaryData.CopyFrom(aMsg.binaryContent,bcmShare); | |||
// | |||
Result := inst.Execute('testimport-wfclassea.dip',''); | |||
end; | |||
Procedure ProcessusImport.Execute; | |||
//Procedure Execute; | |||
var aMsg:TdbmQueueMessage; aTopic:string; idx:Integer; | |||
begin | |||
if Assigned(UserContext.TaskContext) then | |||
begin | |||
UserContext.TaskContext.AddMessage('MyProcessus.Execute'); | |||
if Assigned(UserContext.TaskContext.EventContext.receivedMsg) then | |||
begin | |||
aMsg := UserContext.TaskContext.EventContext.receivedMsg; | |||
UserContext.TaskContext.AddMessage(Format('Message :%s',[aMsg.queueTopic]]); | |||
doImport(aMsg); | |||
end | |||
else | |||
begin | |||
UserContext.TaskContext.AddMessage('No message, process as a regular task'); | |||
end; | |||
end; | |||
end; | |||
end. | |||
</source> | |||
Voir aussi: | Voir aussi: |
Dernière version du 20 octobre 2014 à 11:26
<source lang='delphi'>property BinaryData:TfwBinary;</source>
Cette propriété de type binaire permet de définir les données à importer lorsque celle-ci sont contenues dans un objet binaire.
Exemple :
Importation des données contenues dans un message de file d'attente
<source lang="delphi"> unit TestSYFREWF; interface
Type
ProcessusImport = Class(TitObject) public Procedure doImport(aMsg:TdbmQueueMessage); Procedure Execute; end;
Implementation
{ProcessusImport}
Procedure ProcessusImport.doImport(aMsg:TdbmQueueMessage); //procedure doImport(aMsg:TdbmQueueMessage); var instB:WFClasseB; inst:TImportContext; begin
withP Transaction do begin instB := WFClasseB.Create; instB.unCode := 'B'+FormatDateTime('c',Now); instB.Caption := 'Session:'+instB.unCode; end;
inst := TImportContext.Create; inst.ShareMode.Value := ISM_DEFAULT; inst.ImportMode := miInsert+miUpdate+miDisableEvents; inst.AdditionalValues.Values['uneChaine'] := 'uneChaineValue'; inst.AdditionalValues.Values['unEntier'] := 1; inst.AdditionalValues.Values['unEtat:AsVariant'] := WFCAState_Etat1; inst.AdditionalValues.Values['oidWFClasseBRef'] := instB.InstanceOID; // inst.BinaryData.CopyFrom(aMsg.binaryContent,bcmShare); // Result := inst.Execute('testimport-wfclassea.dip',);
end;
Procedure ProcessusImport.Execute; //Procedure Execute; var aMsg:TdbmQueueMessage; aTopic:string; idx:Integer; begin
if Assigned(UserContext.TaskContext) then begin UserContext.TaskContext.AddMessage('MyProcessus.Execute'); if Assigned(UserContext.TaskContext.EventContext.receivedMsg) then begin aMsg := UserContext.TaskContext.EventContext.receivedMsg; UserContext.TaskContext.AddMessage(Format('Message :%s',[aMsg.queueTopic]]);
doImport(aMsg); end else begin UserContext.TaskContext.AddMessage('No message, process as a regular task'); end; end;
end; end. </source>
Voir aussi:
{{#if:Contexte d'importation|
{{#if:Contexte d'importation|— Contexte d'importation |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}