« BinaryData (TImportContext) » : différence entre les versions

De Wiki1000
(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

}}