Online Help TEDIDelimiters

Unit JclEDI

Types

TEDIDelimiters

   The TEDIDelimiters object keeps track of the delimiters and delimiter lengths used to assemble and disassemble EDI data.

   This object is usually referenced by multiple objects (that are descendent's of TEDIDataObject) in an EDI object hierarchy, and is managed by the base, or root, object. (Example: See TEDIInterchangeControl)

   A TEDIDelimiters object will be automatically destroyed under any of the following conditions:

1.) TEDIFile.Free
2.) TEDIInterchangeControl.Free
3.) Any TEDIDataObject.Free where TEDIDataObject.Parent = nil
4.) Any TEDIDataObject.Delimiters assignment where TEDIDataObject.Parent = nil

Usage

Notes & Examples

   It is important to remember that the TEDIFile and TEDIInterchangeControl objects will automatically destroy any TEDIDelimiters object that is assigned to them when they are destroyed.

 Example:

var
  IC: TEDIInterchangeControl;
begin
  //Create a new Interchange
  IC := TEDIInterchangeControl.Create(nil);
  try
    //Create the delimiter object with a specific set of default delimiters
    IC.Delimiters := TEDIDelimiters.Create('~','*','>');
    //
    //Do some processing
    //
  finally
    //When IC is destroyed the TEDIDelimiters object will also be destroyed
    IC.Free;
  end;
end;

 Delimiter reuse example:

var
  IC: TEDIInterchangeControl;
  EDIDelimiters: TEDIDelimiters;
begin
  //Create the delimiter object with a specific set of default delimiters
  EDIDelimiters := TEDIDelimiters.Create('~','*','>');
  //Create a new Interchange
  IC := TEDIInterchangeControl.Create(nil);
  try
    //Assign the delimiters to use
    IC.Delimiters := EDIDelimiters;
    //
    //Do some processing
    //
  finally
    //Assign nil to release the reference
    IC.Delimiters := nil;
    //When IC is destroyed the TEDIDelimiters object will not be destroyed
    IC.Free;
  end;
  //
  //Do some more processing
  //
  //Remember to free the object when done
  EDIDelimiters.Free;
end;