Jelajahi Sumber

Merge pull request #442 from shoraitek/st-hl7protocol-update

idHl7 update to last release from original author for indy 10, and some code fixes and other updates.
Remy Lebeau 3 tahun lalu
induk
melakukan
7b85166d8d

+ 2 - 0
.gitignore

@@ -43,6 +43,8 @@
 *.a
 *.o
 *.ocx
+*.ppu
+*.bak
 
 # Delphi autogenerated files (duplicated info)
 *.hpp

+ 4 - 4
Lib/Protocols/IdGlobalProtocols.pas

@@ -379,8 +379,8 @@ type
 
   TIdInterfacedObject = class (TInterfacedObject)
   public
-    function _AddRef: Integer;
-    function _Release: Integer;
+    function _AddRef: {$IFNDEF FPC}Integer{$ELSE}longint{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}{$ENDIF};
+    function _Release: {$IFNDEF FPC}Integer{$ELSE}longint{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}{$ENDIF};
   end;
 
   TIdHeaderQuotingType = (QuotePlain, QuoteRFC822, QuoteMIME, QuoteHTTP);
@@ -5347,7 +5347,7 @@ end;
 
 { TIdInterfacedObject }
 
-function TIdInterfacedObject._AddRef: Integer;
+function TIdInterfacedObject._AddRef: {$IFNDEF FPC}Integer{$ELSE}longint{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}{$ENDIF};
 begin
   {$IFDEF DOTNET}
   Result := 1;
@@ -5356,7 +5356,7 @@ begin
   {$ENDIF}
 end;
 
-function TIdInterfacedObject._Release: Integer;
+function TIdInterfacedObject._Release: {$IFNDEF FPC}Integer{$ELSE}longint{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}{$ENDIF};
 begin
   {$IFDEF DOTNET}
   Result := 1;

File diff ditekan karena terlalu besar
+ 373 - 206
Lib/Protocols/IdHL7.pas


+ 3 - 3
Lib/Protocols/IdRegister.pas

@@ -232,7 +232,7 @@ uses
   IdGopher,
   IdGopherServer,
   IdHashMessageDigest,
-  //IdHL7,
+  IdHL7,
   IdHTTP,
   IdHTTPProxyServer,
   IdHTTPServer,
@@ -615,7 +615,7 @@ begin
    TIdDecoderQuotedPrintable,
    TIdIPWatch,
    TIdIPAddrMon,
-  // TIdHL7,
+   TIdHL7,
    TIdMailBox,
    TIdMessage,
    TIdMessageDecoderMIME,
@@ -761,7 +761,7 @@ begin
 
    TIdIPWatch,
    TIdIPAddrMon,
-   //TIdHL7,
+   TIdHL7,
    TIdMailBox,
    TIdMessage,
    TIdNetworkCalculator,

+ 6 - 5
Lib/Protocols/IdResourceStringsProtocols.pas

@@ -806,6 +806,7 @@ resourcestring
   RSHL7StatusConnected         = 'Connected';
   RSHL7StatusConnecting        = 'Connecting';
   RSHL7StatusReConnect         = 'Reconnect at %s: %s';
+  RSHL7StatusTimedOut          = 'Timed out waiting for a message';
   RSHL7NotWhileWorking         = 'You cannot set %s while the HL7 Component is working';
   RSHL7NotWorking              = 'Attempt to %s while the HL7 Component is not working';
   RSHL7NotFailedToStop         = 'Interface is unusable due to failure to stop';
@@ -823,11 +824,11 @@ resourcestring
   RSHL7NoConnectionFound       = 'Server Connection not locatable when sending message';
   RSHL7WaitForAnswer           = 'You cannot send a message while you are still waiting for an answer';
   //TIdHL7 error messages
-  RSHL7ErrInternalsrNone       =  'Internal error in IdHL7.pas: SynchronousSend returned srNone';
-  RSHL7ErrNotConn              =   'Not connected';
-  RSHL7ErrInternalsrSent       =  'Internal error in IdHL7.pas: SynchronousSend returned srSent';
-  RSHL7ErrNoResponse           =  'No response from remote system';
-  RSHL7ErrInternalUnknownVal   =  'Internal error in IdHL7.pas: SynchronousSend returned an unknown value ';
+  RSHL7ErrInternalsrNone       = 'Internal error in IdHL7.pas: SynchronousSend returned srNone';
+  RSHL7ErrNotConn              = 'Not connected';
+  RSHL7ErrInternalsrSent       = 'Internal error in IdHL7.pas: SynchronousSend returned srSent';
+  RSHL7ErrNoResponse           = 'No response from remote system';
+  RSHL7ErrInternalUnknownVal   = 'Internal error in IdHL7.pas: SynchronousSend returned an unknown value %d';
   RSHL7Broken                  = 'IdHL7 is broken in Indy 10 for the present';
 
   { TIdMultipartFormDataStream exceptions }

+ 278 - 0
Lib/examples/idhl7/backup/fmain.lfm

@@ -0,0 +1,278 @@
+object Form1: TForm1
+  Left = 229
+  Height = 837
+  Top = 324
+  Width = 1022
+  Caption = 'idHL7 Sample Client and Server'
+  ClientHeight = 837
+  ClientWidth = 1022
+  DesignTimePPI = 120
+  OnCloseQuery = FormCloseQuery
+  OnCreate = FormCreate
+  LCLVersion = '2.2.4.0'
+  object Panel1: TPanel
+    Left = 0
+    Height = 112
+    Top = 0
+    Width = 1022
+    Align = alTop
+    ClientHeight = 112
+    ClientWidth = 1022
+    TabOrder = 0
+    object btnStart: TButton
+      Left = 208
+      Height = 31
+      Top = 56
+      Width = 94
+      Caption = 'Send'
+      OnClick = btnStartClick
+      TabOrder = 0
+    end
+    object Label2: TLabel
+      Left = 88
+      Height = 20
+      Top = 16
+      Width = 12
+      Caption = 'IP'
+      ParentColor = False
+    end
+    object edtServer: TEdit
+      Left = 112
+      Height = 28
+      Top = 16
+      Width = 128
+      TabOrder = 1
+      Text = '127.0.0.1'
+    end
+    object Label3: TLabel
+      Left = 262
+      Height = 20
+      Top = 16
+      Width = 26
+      Caption = 'Port'
+      ParentColor = False
+    end
+    object edtPort: TEdit
+      Left = 310
+      Height = 28
+      Top = 16
+      Width = 100
+      TabOrder = 2
+      Text = '1234'
+    end
+    object Panel5: TPanel
+      Left = 512
+      Height = 110
+      Top = 1
+      Width = 509
+      Align = alRight
+      BorderStyle = bsSingle
+      ClientHeight = 106
+      ClientWidth = 505
+      TabOrder = 3
+      object Label1: TLabel
+        Left = 120
+        Height = 20
+        Top = 21
+        Width = 26
+        Caption = 'Port'
+        ParentColor = False
+      end
+      object edtServerPort: TEdit
+        Left = 175
+        Height = 28
+        Top = 21
+        Width = 100
+        TabOrder = 0
+        Text = '1234'
+      end
+      object btnListen: TButton
+        Left = 178
+        Height = 31
+        Top = 55
+        Width = 94
+        Caption = 'Listen'
+        OnClick = btnListenClick
+        TabOrder = 1
+      end
+      object Label4: TLabel
+        Left = 8
+        Height = 20
+        Top = 80
+        Width = 41
+        Caption = 'Server'
+        ParentColor = False
+      end
+    end
+    object Label5: TLabel
+      Left = 19
+      Height = 20
+      Top = 80
+      Width = 38
+      Caption = 'Client'
+      ParentColor = False
+    end
+  end
+  object Panel2: TPanel
+    Left = 0
+    Height = 524
+    Top = 112
+    Width = 1022
+    Align = alClient
+    ClientHeight = 524
+    ClientWidth = 1022
+    TabOrder = 1
+    object Panel3: TPanel
+      Left = 1
+      Height = 522
+      Top = 1
+      Width = 511
+      Align = alLeft
+      ClientHeight = 522
+      ClientWidth = 511
+      TabOrder = 0
+      OnClick = Panel3Click
+      object memClient: TMemo
+        Left = 1
+        Height = 281
+        Top = 1
+        Width = 509
+        Align = alTop
+        Lines.Strings = (
+          'MSH|^~\&|Radiology|PACS|CRIS|Radiology|20140616051341||ORU^R01|30081|IW|2.3.1|||1|1|ZAF|'
+          'PID|||6803030974084|QP-201389|MGEDEZI^NOROYI M^NM^^MISS||196803030300|F||541170-20140616-104412-9415-253||||||||KRC1507337|6803030974084|'
+          'PV1||O|KI|||||^^^^^||||||||0||||||||||||||||||||||||||||201406160600|'
+          'OBR|1|2014061600054^KRC|KRC1507337^KRC|12310^X-RAY ORBITS LESS THAN 3 VIEWS||201406160600|201406160600||||||X-RAY ORBITS LESS THAN 3 VIEWS|||HOLTS^HOLT^^S^^DR||KRC1507337|KRK^KINGBURY RADIOLOGY KINGBURY|||189912301200||KRC|F|||^||||FBD^KAREL BUITENDAG||NA|^189912301200|201406160600|'
+          'OBX|0|TX|||Accession Number : KR C1507337||||||F||||'
+          'OBX|1|TX|||||||||F||||'
+          'OBX|2|TX|||CT ORBITS||||||F||||'
+          'OBX|3|TX|||Facial trauma? Blowout fracture.||||||F||||'
+          'OBX|4|TX|||||||||F||||'
+          'OBX|5|TX|||There is a blowout fracture of the posterior aspect of the lamina papyracea (posteromedial orbital wall). Extraconal fat and medial rectus muscle protrudes into ethmoid nasal cavity and there is likely muscle entrapment.||||||F||||'
+          'OBX|6|TX|||There is orbital emphysema also extending to the maxillary subcutaneous tissue and the preseptal eyelids.||||||F||||'
+          'OBX|7|TX|||The globe appear intact. There is no swelling of the orbital optic nerve.||||||F||||'
+          'OBX|8|TX|||||||||F||||'
+          'OBX|9|TX|||COMMENT||||||F||||'
+          'OBX|10|TX|||There is a blowout fracture involving the posteromedial wall of the right orbit (lamina papyracea) with protruding medial rectus muscle.||||||F||||'
+          'OBX|11|TX|||||||||F||||'
+          'OBX|12|TX|||||||||F||||'
+          'OBX|13|TX|||VERIFIED BY: KAREL BUITENDAG on 2014/06/16 5:13 PM||||||F||||'
+        )
+        TabOrder = 0
+        WordWrap = False
+      end
+      object Panel7: TPanel
+        Left = 1
+        Height = 23
+        Top = 282
+        Width = 509
+        Align = alTop
+        Caption = 'Client Reply'
+        TabOrder = 1
+      end
+      object memClientReplyText: TMemo
+        Left = 1
+        Height = 216
+        Top = 305
+        Width = 509
+        Align = alClient
+        TabOrder = 2
+        WordWrap = False
+      end
+    end
+    object Panel4: TPanel
+      Left = 512
+      Height = 522
+      Top = 1
+      Width = 509
+      Align = alClient
+      BorderStyle = bsSingle
+      ClientHeight = 518
+      ClientWidth = 505
+      TabOrder = 1
+      object memServer: TMemo
+        Left = 1
+        Height = 279
+        Top = 1
+        Width = 503
+        Align = alTop
+        TabOrder = 0
+        WordWrap = False
+      end
+      object Panel6: TPanel
+        Left = 1
+        Height = 23
+        Top = 280
+        Width = 503
+        Align = alTop
+        Caption = 'Server Reply Text (to Send)'
+        TabOrder = 1
+      end
+      object memServerReply: TMemo
+        Left = 1
+        Height = 214
+        Top = 303
+        Width = 503
+        Align = alClient
+        Lines.Strings = (
+          'MSH|^~\&|RECEIVER|SMARTHL7|||||ADR^A19|MSG_{TIMESTAMP}|T|2.3'
+          'MSA|AA|{MESSAGE_CONTROL_ID}||||'
+          'QRD|{TIMESTAMP}|R|I|7034287|||200^RD|0123456^^^^^^^^N001^^^^N001|DEM'
+          'PID|||0123456||SMITH^Mary^^^Mrs^^L||19550430|F||4|1 Healthy St^^Springfield^NY^52134^1001^HOME||2328077470||1001|1|3223||5234123222||||3213|||||3213'
+        )
+        TabOrder = 2
+        WordWrap = False
+      end
+    end
+  end
+  object Panel8: TPanel
+    Left = 0
+    Height = 201
+    Top = 636
+    Width = 1022
+    Align = alBottom
+    Caption = 'Panel8'
+    ClientHeight = 201
+    ClientWidth = 1022
+    TabOrder = 2
+    object memGeneral: TMemo
+      Left = 1
+      Height = 199
+      Top = 1
+      Width = 1020
+      Align = alClient
+      TabOrder = 0
+      WordWrap = False
+    end
+  end
+  object idHl7Client: TIdHL7
+    KeepAlive.UseKeepAlive = False
+    KeepAlive.IdleTimeMS = 0
+    KeepAlive.IntervalMS = 0
+    IPRestriction = '0.0.0.0'
+    IPMask = '0.0.0.0'
+    CommunicationMode = cmSynchronous
+    OnConnect = idHl7ClientConnect
+    OnDisconnect = idHl7ClientDisconnect
+    OnConnCountChange = idHl7ClientConnCountChange
+    OnReceiveError = idHl7ClientReceiveError
+    Left = 328
+    Top = 72
+  end
+  object idHl7Server: TIdHL7
+    Port = 1234
+    KeepAlive.UseKeepAlive = False
+    KeepAlive.IdleTimeMS = 0
+    KeepAlive.IntervalMS = 0
+    ConnectionLimit = 10
+    IPRestriction = '0.0.0.0'
+    IPMask = '0.0.0.0'
+    CommunicationMode = cmSynchronous
+    OnConnect = idHl7ServerConnect
+    OnDisconnect = idHl7ServerDisconnect
+    OnConnCountChange = idHl7ServerConnCountChange
+    OnReceiveError = idHl7ServerReceiveError
+    Left = 840
+    Top = 40
+  end
+end

+ 228 - 0
Lib/examples/idhl7/backup/fmain.pas

@@ -0,0 +1,228 @@
+unit fmain;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
+  IdHL7, IdTCPConnection;
+
+type
+
+  { TForm1 }
+
+  TForm1 = class(TForm)
+    btnStart: TButton;
+    btnListen: TButton;
+    edtServerPort: TEdit;
+    edtServer: TEdit;
+    edtPort: TEdit;
+    idHl7Client: TIdHL7;
+    idHl7Server: TIdHL7;
+    Label1: TLabel;
+    Label2: TLabel;
+    Label3: TLabel;
+    Label4: TLabel;
+    Label5: TLabel;
+    memClient: TMemo;
+    memClientReplyText: TMemo;
+    memGeneral: TMemo;
+    memServerReply: TMemo;
+    memServer: TMemo;
+    Panel1: TPanel;
+    Panel2: TPanel;
+    Panel3: TPanel;
+    Panel4: TPanel;
+    Panel5: TPanel;
+    Panel6: TPanel;
+    Panel7: TPanel;
+    Panel8: TPanel;
+    procedure btnListenClick(Sender: TObject);
+    procedure btnStartClick(Sender: TObject);
+    procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
+    procedure FormCreate(Sender: TObject);
+    procedure idHl7ClientConnCountChange(ASender: TIdHL7; AConnCount: integer);
+    procedure idHl7ClientConnect(Sender: TObject);
+    procedure idHl7ClientDisconnect(Sender: TObject);
+    procedure idHl7ClientReceiveError(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; AException: Exception; var VReply: string; var VDropConnection: boolean);
+    procedure idHl7ServerConnCountChange(ASender: TIdHL7; AConnCount: integer);
+    procedure idHl7ServerConnect(Sender: TObject);
+    procedure idHl7ServerDisconnect(Sender: TObject);
+    procedure idHl7ServerReceiveError(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; AException: Exception; var VReply: string; var VDropConnection: boolean);
+    procedure Panel3Click(Sender: TObject);
+  protected
+    procedure hl7ServerReceive(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; var VHandled: boolean; var VReply: string);
+    procedure hl7ServerMsgArrive(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string);
+    procedure hl7clientReceive(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; var VHandled: boolean; var VReply: string);
+
+
+  private
+    procedure clientSend();
+  public
+
+  end;
+
+var
+  Form1: TForm1;
+
+implementation
+
+{$R *.lfm}
+
+{ TForm1 }
+
+procedure TForm1.btnStartClick(Sender: TObject);
+begin
+    if idHl7Client.Status = isConnected then begin
+    idHl7Client.Stop;
+  end;
+
+    idHl7Client.Port := StrToInt(edtPort.Text);
+    idHl7Client.Address := edtServer.Text;
+    clientSend;
+end;
+
+procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: boolean);
+begin
+  if idHl7Client.Status = isConnected then begin
+    idHl7Client.Stop;
+  end;
+
+end;
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+  idHl7Server.OnReceiveMessage := @hl7ServerReceive;
+  idHl7Server.OnMessageArrive := @hl7ServerMsgArrive;
+  idHl7Client.OnReceiveMessage:= @hl7clientReceive;
+
+end;
+
+procedure TForm1.idHl7ClientConnCountChange(ASender: TIdHL7; AConnCount: integer);
+begin
+  memGeneral.Lines.add('clientcon_count change : ');
+end;
+
+procedure TForm1.idHl7ClientConnect(Sender: TObject);
+begin
+  memGeneral.Lines.add('clientconnect : ');
+end;
+
+procedure TForm1.idHl7ClientDisconnect(Sender: TObject);
+begin
+  memGeneral.Lines.add('clientdisconenct : ');
+end;
+
+procedure TForm1.idHl7ClientReceiveError(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; AException: Exception; var VReply: string; var VDropConnection: boolean);
+begin
+  memGeneral.Lines.add('clientrcverr : ' + AException.Message);
+  VDropConnection := True;
+end;
+
+procedure TForm1.idHl7ServerConnCountChange(ASender: TIdHL7; AConnCount: integer);
+begin
+  memGeneral.Lines.add('servercon_count change : ');
+end;
+
+procedure TForm1.idHl7ServerConnect(Sender: TObject);
+begin
+  memGeneral.Lines.add('serverconnect : ');
+end;
+
+procedure TForm1.idHl7ServerDisconnect(Sender: TObject);
+begin
+  memGeneral.Lines.add('serverdisconenct : ');
+end;
+
+procedure TForm1.idHl7ServerReceiveError(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; AException: Exception; var VReply: string; var VDropConnection: boolean);
+begin
+  memGeneral.Lines.add('servrcverr : ' + AException.Message);
+  VDropConnection := True;
+end;
+
+procedure TForm1.Panel3Click(Sender: TObject);
+begin
+
+end;
+
+procedure TForm1.hl7ServerReceive(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; var VHandled: boolean; var VReply: string);
+begin
+  vReply := memServerReply.Lines.Text;
+  memServer.lines.text := Amsg;
+  vhandled := True;
+  memGeneral.Lines.add('servreceived '+AMsg+
+                      '- reply provided '+vReply);
+
+end;
+
+procedure TForm1.hl7ServerMsgArrive(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string);
+begin
+  memGeneral.Lines.add('servmsgarrive : ' + AMsg);
+  memServer.lines.add(amsg);
+
+  idHl7Server.AsynchronousSend(memServerReply.Lines.text,AConnection);
+end;
+
+procedure TForm1.hl7clientReceive(ASender: TObject;
+  AConnection: TIdTCPConnection; AMsg: string; var VHandled: boolean;
+  var VReply: string);
+begin
+  memClientReplyText.lines.text := Amsg;
+  vhandled := True;
+  memGeneral.Lines.add('clreceived '+AMsg);
+
+end;
+
+procedure TForm1.clientSend;
+var
+  iX: integer;
+  sAnt: string;
+//  vR : TSendResponse;
+  vMsg : IInterface;
+begin
+  if idHl7Client.Status <> isConnected then begin
+    idHl7Client.Start;
+    idHl7Client.WaitForConnection(10000);
+  end;
+  idHl7Client.SendMessage(memClient.Lines.Text);
+  iX := 0;
+  while (iX < 10)  do begin
+    Inc(iX);
+    sleep(10);
+    Application.ProcessMessages;
+    (*vR*)vMsg := idHl7Client.GetMessage(sAnt);
+    if vMsg <> nil (*vR = srOK*) then begin
+      memClientReplyText.Lines.text := 'success : '+sAnt;
+      break
+(*    end else if vR = srError then begin
+      memClientReplyText.Lines.text := 'error : '+sAnt;
+      break;
+    end else if vR = srTimeout then begin
+      memClientReplyText.Lines.text := 'timeout waiting for reply ';
+      break;*)
+    end;
+  end;
+//  memClientReplyText.Lines.Text := sAnt;
+
+end;
+
+procedure TForm1.btnListenClick(Sender: TObject);
+begin
+  if btnListen.Tag = 0 then begin
+    idHl7Server.Port := StrToInt(edtServerPort.Text);
+    idHl7Server.Start;
+    btnListen.Tag := 1;
+    btnListen.Caption := 'Stop';
+  end else begin
+    if idHl7Server.Status = isConnected then begin
+      idHl7Server.Stop;
+    end;
+    btnListen.Caption := 'Start';
+    btnListen.Tag := 0;
+
+  end;
+
+end;
+
+end.

+ 83 - 0
Lib/examples/idhl7/backup/hl7_usage_sample.lpi

@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CONFIG>
+  <ProjectOptions>
+    <Version Value="12"/>
+    <PathDelim Value="\"/>
+    <General>
+      <SessionStorage Value="InProjectDir"/>
+      <Title Value="hl7_usage_sample"/>
+      <Scaled Value="True"/>
+      <ResourceType Value="res"/>
+      <UseXPManifest Value="True"/>
+      <XPManifest>
+        <DpiAware Value="True"/>
+      </XPManifest>
+      <Icon Value="0"/>
+    </General>
+    <BuildModes>
+      <Item Name="Default" Default="True"/>
+    </BuildModes>
+    <PublishOptions>
+      <Version Value="2"/>
+      <UseFileFilters Value="True"/>
+    </PublishOptions>
+    <RunParams>
+      <FormatVersion Value="2"/>
+    </RunParams>
+    <RequiredPackages>
+      <Item>
+        <PackageName Value="indylaz"/>
+      </Item>
+      <Item>
+        <PackageName Value="LCL"/>
+      </Item>
+    </RequiredPackages>
+    <Units>
+      <Unit>
+        <Filename Value="hl7_usage_sample.lpr"/>
+        <IsPartOfProject Value="True"/>
+      </Unit>
+      <Unit>
+        <Filename Value="fmain.pas"/>
+        <IsPartOfProject Value="True"/>
+        <ComponentName Value="Form1"/>
+        <HasResources Value="True"/>
+        <ResourceBaseClass Value="Form"/>
+      </Unit>
+    </Units>
+  </ProjectOptions>
+  <CompilerOptions>
+    <Version Value="11"/>
+    <PathDelim Value="\"/>
+    <Target>
+      <Filename Value="hl7_usage_sample"/>
+    </Target>
+    <SearchPaths>
+      <IncludeFiles Value="$(ProjOutDir)"/>
+      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+    </SearchPaths>
+    <Linking>
+      <Debugging>
+        <DebugInfoType Value="dsDwarf3"/>
+      </Debugging>
+      <Options>
+        <Win32>
+          <GraphicApplication Value="True"/>
+        </Win32>
+      </Options>
+    </Linking>
+  </CompilerOptions>
+  <Debugging>
+    <Exceptions>
+      <Item>
+        <Name Value="EAbort"/>
+      </Item>
+      <Item>
+        <Name Value="ECodetoolError"/>
+      </Item>
+      <Item>
+        <Name Value="EFOpenError"/>
+      </Item>
+    </Exceptions>
+  </Debugging>
+</CONFIG>

+ 211 - 0
Lib/examples/idhl7/backup/hl7_usage_sample.lps

@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CONFIG>
+  <ProjectSession>
+    <PathDelim Value="\"/>
+    <Version Value="12"/>
+    <BuildModes Active="Default"/>
+    <Units>
+      <Unit>
+        <Filename Value="hl7_usage_sample.lpr"/>
+        <IsPartOfProject Value="True"/>
+        <EditorIndex Value="-1"/>
+        <WindowIndex Value="-1"/>
+        <TopLine Value="-1"/>
+        <CursorPos X="-1" Y="-1"/>
+        <UsageCount Value="61"/>
+      </Unit>
+      <Unit>
+        <Filename Value="fmain.pas"/>
+        <IsPartOfProject Value="True"/>
+        <ComponentName Value="Form1"/>
+        <HasResources Value="True"/>
+        <ResourceBaseClass Value="Form"/>
+        <TopLine Value="45"/>
+        <CursorPos X="70" Y="56"/>
+        <UsageCount Value="61"/>
+        <Loaded Value="True"/>
+        <LoadedDesigner Value="True"/>
+      </Unit>
+      <Unit>
+        <Filename Value="C:\lazarus\components\indy\Lib\Protocols\IdHL7.pas"/>
+        <IsVisibleTab Value="True"/>
+        <EditorIndex Value="1"/>
+        <TopLine Value="1539"/>
+        <CursorPos X="9" Y="1550"/>
+        <UsageCount Value="13"/>
+        <Bookmarks Count="2">
+          <Item0 X="84" Y="359" ID="1"/>
+          <Item1 X="30" Y="1709" ID="2"/>
+        </Bookmarks>
+        <Loaded Value="True"/>
+        <DefaultSyntaxHighlighter Value="Delphi"/>
+      </Unit>
+      <Unit>
+        <Filename Value="C:\lazarus\lcl\include\control.inc"/>
+        <EditorIndex Value="-1"/>
+        <TopLine Value="2939"/>
+        <CursorPos Y="2959"/>
+        <UsageCount Value="10"/>
+      </Unit>
+      <Unit>
+        <Filename Value="C:\lazarus\components\indy\Lib\Core\IdIOHandler.pas"/>
+        <EditorIndex Value="2"/>
+        <TopLine Value="2134"/>
+        <CursorPos X="109" Y="2153"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+        <DefaultSyntaxHighlighter Value="Delphi"/>
+      </Unit>
+    </Units>
+    <JumpHistory HistoryIndex="29">
+      <Position>
+        <Filename Value="C:\lazarus\components\indy\Lib\Protocols\IdHL7.pas"/>
+        <Caret Line="1581" TopLine="1577"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="178" TopLine="158"/>
+      </Position>
+      <Position>
+        <Filename Value="C:\lazarus\components\indy\Lib\Protocols\IdHL7.pas"/>
+        <Caret Line="1581" TopLine="1577"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="168" Column="92" TopLine="158"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="76" Column="5" TopLine="74"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="60" Column="15" TopLine="49"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="178" Column="38" TopLine="169"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="56" Column="15" TopLine="49"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="159" Column="3" TopLine="155"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="55" Column="15" TopLine="45"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="153" TopLine="145"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="56" Column="15" TopLine="44"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="161" Column="62" TopLine="155"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="57" Column="24" TopLine="45"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="169" Column="3" TopLine="164"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="55" Column="15" TopLine="46"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="153" TopLine="146"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="57" Column="15" TopLine="44"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="167" Column="34" TopLine="164"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="58" Column="15" TopLine="46"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="44" Column="25" TopLine="25"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="98" Column="51" TopLine="93"/>
+      </Position>
+      <Position>
+        <Filename Value="C:\lazarus\components\indy\Lib\Protocols\IdHL7.pas"/>
+        <Caret Line="1588" Column="49" TopLine="1577"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="107" Column="108" TopLine="87"/>
+      </Position>
+      <Position>
+        <Filename Value="C:\lazarus\components\indy\Lib\Protocols\IdHL7.pas"/>
+        <Caret Line="1587" Column="65" TopLine="1577"/>
+      </Position>
+      <Position>
+        <Filename Value="C:\lazarus\components\indy\Lib\Protocols\IdHL7.pas"/>
+        <Caret Line="330" Column="35" TopLine="321"/>
+      </Position>
+      <Position>
+        <Filename Value="C:\lazarus\components\indy\Lib\Protocols\IdHL7.pas"/>
+        <Caret Line="1512" Column="38" TopLine="1501"/>
+      </Position>
+      <Position>
+        <Filename Value="C:\lazarus\components\indy\Lib\Protocols\IdHL7.pas"/>
+        <Caret Line="330" Column="33" TopLine="330"/>
+      </Position>
+      <Position>
+        <Filename Value="C:\lazarus\components\indy\Lib\Protocols\IdHL7.pas"/>
+        <Caret Line="1535" Column="51" TopLine="1525"/>
+      </Position>
+    </JumpHistory>
+    <RunParams>
+      <FormatVersion Value="2"/>
+      <Modes ActiveMode=""/>
+    </RunParams>
+  </ProjectSession>
+  <Debugging>
+    <BreakPoints>
+      <Item>
+        <Kind Value="bpkSource"/>
+        <WatchScope Value="wpsLocal"/>
+        <WatchKind Value="wpkWrite"/>
+        <Source Value="fmain.pas"/>
+        <Line Value="199"/>
+      </Item>
+      <Item>
+        <Kind Value="bpkSource"/>
+        <WatchScope Value="wpsLocal"/>
+        <WatchKind Value="wpkWrite"/>
+        <Source Value="fmain.pas"/>
+        <Line Value="202"/>
+      </Item>
+      <Item>
+        <Kind Value="bpkSource"/>
+        <WatchScope Value="wpsLocal"/>
+        <WatchKind Value="wpkWrite"/>
+        <Source Value="C:\lazarus\components\indy\Lib\Protocols\IdHL7.pas"/>
+        <Line Value="1632"/>
+      </Item>
+    </BreakPoints>
+  </Debugging>
+</CONFIG>

+ 276 - 0
Lib/examples/idhl7/fmain.lfm

@@ -0,0 +1,276 @@
+object Form1: TForm1
+  Left = 229
+  Height = 837
+  Top = 324
+  Width = 1022
+  Caption = 'idHL7 Sample Client and Server'
+  ClientHeight = 837
+  ClientWidth = 1022
+  DesignTimePPI = 120
+  OnCloseQuery = FormCloseQuery
+  OnCreate = FormCreate
+  LCLVersion = '2.2.4.0'
+  object Panel1: TPanel
+    Left = 0
+    Height = 112
+    Top = 0
+    Width = 1022
+    Align = alTop
+    ClientHeight = 112
+    ClientWidth = 1022
+    TabOrder = 0
+    object btnStart: TButton
+      Left = 208
+      Height = 31
+      Top = 56
+      Width = 94
+      Caption = 'Send'
+      OnClick = btnStartClick
+      TabOrder = 0
+    end
+    object Label2: TLabel
+      Left = 88
+      Height = 20
+      Top = 16
+      Width = 12
+      Caption = 'IP'
+      ParentColor = False
+    end
+    object edtServer: TEdit
+      Left = 112
+      Height = 28
+      Top = 16
+      Width = 128
+      TabOrder = 1
+      Text = '127.0.0.1'
+    end
+    object Label3: TLabel
+      Left = 262
+      Height = 20
+      Top = 16
+      Width = 26
+      Caption = 'Port'
+      ParentColor = False
+    end
+    object edtPort: TEdit
+      Left = 310
+      Height = 28
+      Top = 16
+      Width = 100
+      TabOrder = 2
+      Text = '1234'
+    end
+    object Panel5: TPanel
+      Left = 512
+      Height = 110
+      Top = 1
+      Width = 509
+      Align = alRight
+      BorderStyle = bsSingle
+      ClientHeight = 106
+      ClientWidth = 505
+      TabOrder = 3
+      object Label1: TLabel
+        Left = 120
+        Height = 20
+        Top = 21
+        Width = 26
+        Caption = 'Port'
+        ParentColor = False
+      end
+      object edtServerPort: TEdit
+        Left = 175
+        Height = 28
+        Top = 21
+        Width = 100
+        TabOrder = 0
+        Text = '1234'
+      end
+      object btnListen: TButton
+        Left = 178
+        Height = 31
+        Top = 55
+        Width = 94
+        Caption = 'Listen'
+        OnClick = btnListenClick
+        TabOrder = 1
+      end
+      object Label4: TLabel
+        Left = 8
+        Height = 20
+        Top = 80
+        Width = 41
+        Caption = 'Server'
+        ParentColor = False
+      end
+    end
+    object Label5: TLabel
+      Left = 19
+      Height = 20
+      Top = 80
+      Width = 38
+      Caption = 'Client'
+      ParentColor = False
+    end
+  end
+  object Panel2: TPanel
+    Left = 0
+    Height = 524
+    Top = 112
+    Width = 1022
+    Align = alClient
+    ClientHeight = 524
+    ClientWidth = 1022
+    TabOrder = 1
+    object Panel3: TPanel
+      Left = 1
+      Height = 522
+      Top = 1
+      Width = 511
+      Align = alLeft
+      ClientHeight = 522
+      ClientWidth = 511
+      TabOrder = 0
+      OnClick = Panel3Click
+      object memClient: TMemo
+        Left = 1
+        Height = 281
+        Top = 1
+        Width = 509
+        Align = alTop
+        Lines.Strings = (
+          'MSH|^~\&|Radiology|IDHL7|HL7ID|Radiology|20140616051341||ORU^R01|30081|IW|2.3.1|||1|1|ZAF|'
+          'PID|||1234567890012|QP-201389|WILCO^ROGER^R^^MR||1994803030300|M||041170-20140616-104412-9415-253||||||||SQ1507337|1234567890012|'
+          'PV1||O|PH|||||^^^^^||||||||0||||||||||||||||||||||||||||201406160600|'
+          'OBR|1|2014061600054^PHL|SQ1507337^PHL|12310^X-RAY ORBITS LESS THAN 3 VIEWS||201406160600|201406160600||||||X-RAY ORBITS LESS THAN 3 VIEWS|||SPIKE^PET^^S^^DR||SQ1507337|KRK^PHEELBUB RADIOLOGY PHEELBUB|||189912301200||PHL|F|||^||||FBD^KIEKIE ORBETAL||NA|^189912301200|201406160600|'
+          'OBX|0|TX|||Accession Number : SQ1507337||||||F||||'
+          'OBX|1|TX|||||||||F||||'
+          'OBX|2|TX|||CT ORBITS||||||F||||'
+          'OBX|3|TX|||Facial trauma? Blowout fracture.||||||F||||'
+          'OBX|4|TX|||||||||F||||'
+          'OBX|5|TX|||There is a blowout fracture of the posterior aspect of the lamina papyracea (posteromedial orbital wall). Extraconal fat and medial rectus muscle protrudes into ethmoid nasal cavity and there is likely muscle entrapment.||||||F||||'
+          'OBX|6|TX|||There is orbital emphysema also extending to the maxillary subcutaneous tissue and the preseptal eyelids.||||||F||||'
+          'OBX|7|TX|||The globe appear intact. There is no swelling of the orbital optic nerve.||||||F||||'
+          'OBX|8|TX|||||||||F||||'
+          'OBX|9|TX|||COMMENT||||||F||||'
+          'OBX|10|TX|||There is a blowout fracture involving the posteromedial wall of the right orbit (lamina papyracea) with protruding medial rectus muscle.||||||F||||'
+          'OBX|11|TX|||||||||F||||'
+          'OBX|12|TX|||||||||F||||'
+          'OBX|13|TX|||VERIFIED BY: KIEKIE ORBETAL on 2254/02/14 5:13 PM||||||F||||'
+        )
+        TabOrder = 0
+        WordWrap = False
+      end
+      object Panel7: TPanel
+        Left = 1
+        Height = 23
+        Top = 282
+        Width = 509
+        Align = alTop
+        Caption = 'Client Reply'
+        TabOrder = 1
+      end
+      object memClientReplyText: TMemo
+        Left = 1
+        Height = 216
+        Top = 305
+        Width = 509
+        Align = alClient
+        TabOrder = 2
+        WordWrap = False
+      end
+    end
+    object Panel4: TPanel
+      Left = 512
+      Height = 522
+      Top = 1
+      Width = 509
+      Align = alClient
+      BorderStyle = bsSingle
+      ClientHeight = 518
+      ClientWidth = 505
+      TabOrder = 1
+      object memServer: TMemo
+        Left = 1
+        Height = 279
+        Top = 1
+        Width = 503
+        Align = alTop
+        TabOrder = 0
+        WordWrap = False
+      end
+      object Panel6: TPanel
+        Left = 1
+        Height = 23
+        Top = 280
+        Width = 503
+        Align = alTop
+        Caption = 'Server Reply Text (to Send)'
+        TabOrder = 1
+      end
+      object memServerReply: TMemo
+        Left = 1
+        Height = 214
+        Top = 303
+        Width = 503
+        Align = alClient
+        Lines.Strings = (
+          'MSH|^~\&|IDHl7|HL7ID|||||ORU^R01|22540214051541|T|2.3'
+          'MSA|AA|30081||||'
+        )
+        TabOrder = 2
+        WordWrap = False
+      end
+    end
+  end
+  object Panel8: TPanel
+    Left = 0
+    Height = 201
+    Top = 636
+    Width = 1022
+    Align = alBottom
+    Caption = 'Panel8'
+    ClientHeight = 201
+    ClientWidth = 1022
+    TabOrder = 2
+    object memGeneral: TMemo
+      Left = 1
+      Height = 199
+      Top = 1
+      Width = 1020
+      Align = alClient
+      TabOrder = 0
+      WordWrap = False
+    end
+  end
+  object idHl7Client: TIdHL7
+    KeepAlive.UseKeepAlive = False
+    KeepAlive.IdleTimeMS = 0
+    KeepAlive.IntervalMS = 0
+    IPRestriction = '0.0.0.0'
+    IPMask = '0.0.0.0'
+    CommunicationMode = cmSynchronous
+    OnConnect = idHl7ClientConnect
+    OnDisconnect = idHl7ClientDisconnect
+    OnConnCountChange = idHl7ClientConnCountChange
+    OnReceiveError = idHl7ClientReceiveError
+    Left = 328
+    Top = 72
+  end
+  object idHl7Server: TIdHL7
+    Port = 1234
+    KeepAlive.UseKeepAlive = False
+    KeepAlive.IdleTimeMS = 0
+    KeepAlive.IntervalMS = 0
+    ConnectionLimit = 10
+    IPRestriction = '0.0.0.0'
+    IPMask = '0.0.0.0'
+    CommunicationMode = cmSynchronous
+    OnConnect = idHl7ServerConnect
+    OnDisconnect = idHl7ServerDisconnect
+    OnConnCountChange = idHl7ServerConnCountChange
+    OnReceiveError = idHl7ServerReceiveError
+    Left = 840
+    Top = 40
+  end
+end

+ 266 - 0
Lib/examples/idhl7/fmain.pas

@@ -0,0 +1,266 @@
+unit fmain;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
+  IdHL7, IdTCPConnection,idGlobal,idSync;
+
+type
+
+  { TForm1 }
+
+
+
+
+    { TLog }
+
+    TLog = class(TIdNotify)
+    protected
+      FMsg: string;
+      procedure DoNotify; override;
+    public
+      class procedure LogMsg(const AMsg :string);
+    end;
+
+  TForm1 = class(TForm)
+    btnStart: TButton;
+    btnListen: TButton;
+    edtServerPort: TEdit;
+    edtServer: TEdit;
+    edtPort: TEdit;
+    idHl7Client: TIdHL7;
+    idHl7Server: TIdHL7;
+    Label1: TLabel;
+    Label2: TLabel;
+    Label3: TLabel;
+    Label4: TLabel;
+    Label5: TLabel;
+    memClient: TMemo;
+    memClientReplyText: TMemo;
+    memGeneral: TMemo;
+    memServerReply: TMemo;
+    memServer: TMemo;
+    Panel1: TPanel;
+    Panel2: TPanel;
+    Panel3: TPanel;
+    Panel4: TPanel;
+    Panel5: TPanel;
+    Panel6: TPanel;
+    Panel7: TPanel;
+    Panel8: TPanel;
+    procedure btnListenClick(Sender: TObject);
+    procedure btnStartClick(Sender: TObject);
+    procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
+    procedure FormCreate(Sender: TObject);
+    procedure idHl7ClientConnCountChange(ASender: TIdHL7; AConnCount: integer);
+    procedure idHl7ClientConnect(Sender: TObject);
+    procedure idHl7ClientDisconnect(Sender: TObject);
+    procedure idHl7ClientReceiveError(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; AException: Exception; var VReply: string; var VDropConnection: boolean);
+    procedure idHl7ServerConnCountChange(ASender: TIdHL7; AConnCount: integer);
+    procedure idHl7ServerConnect(Sender: TObject);
+    procedure idHl7ServerDisconnect(Sender: TObject);
+    procedure idHl7ServerReceiveError(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; AException: Exception; var VReply: string; var VDropConnection: boolean);
+    procedure Panel3Click(Sender: TObject);
+  protected
+    procedure hl7ServerReceive(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; var VHandled: boolean; var VReply: string);
+    procedure hl7ServerMsgArrive(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string);
+    procedure hl7clientReceive(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; var VHandled: boolean; var VReply: string);
+    procedure logGeneral(sText  : String);
+
+
+  private
+    procedure clientSend();
+  public
+
+  end;
+
+var
+  Form1: TForm1;
+
+implementation
+
+{$R *.lfm}
+
+{ TLog }
+
+procedure TLog.DoNotify;
+begin
+      Form1.memGeneral.Lines.Add(Fmsg);
+end;
+
+class procedure TLog.LogMsg(const AMsg :string);
+begin
+   with TLog.Create do
+  try
+    FMsg := AMsg;
+    Notify;
+  except
+    Free;
+    raise;
+  end;
+end;
+
+{ TForm1 }
+
+procedure TForm1.btnStartClick(Sender: TObject);
+begin
+    if idHl7Client.Connected then begin
+    idHl7Client.Stop;
+  end;
+
+    idHl7Client.Port := StrToInt(edtPort.Text);
+    idHl7Client.Address := edtServer.Text;
+    clientSend;
+end;
+
+procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: boolean);
+begin
+  if idHl7Client.Status = isConnected then begin
+    idHl7Client.Stop;
+  end;
+
+end;
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+  idHl7Server.OnReceiveMessage := @hl7ServerReceive;
+  idHl7Server.OnMessageArrive := @hl7ServerMsgArrive;
+  idHl7Client.OnReceiveMessage:= @hl7clientReceive;
+
+end;
+
+procedure TForm1.idHl7ClientConnCountChange(ASender: TIdHL7; AConnCount: integer);
+begin
+  logGeneral('clientcon_count change : ');
+end;
+
+procedure TForm1.idHl7ClientConnect(Sender: TObject);
+begin
+  logGeneral('clientconnect : ');
+end;
+
+procedure TForm1.idHl7ClientDisconnect(Sender: TObject);
+begin
+  logGeneral('clientdisconnect : ');
+end;
+
+procedure TForm1.idHl7ClientReceiveError(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; AException: Exception; var VReply: string; var VDropConnection: boolean);
+begin
+  logGeneral('clientrcverr : ' + AException.Message);
+  VDropConnection := True;
+end;
+
+procedure TForm1.idHl7ServerConnCountChange(ASender: TIdHL7; AConnCount: integer);
+begin
+  //Currently if evcents log to memo even in critical section it breaks the whole thread schedule system
+  logGeneral('servercon_count change : ');
+end;
+
+procedure TForm1.idHl7ServerConnect(Sender: TObject);
+begin
+  logGeneral('serverconnect : ');
+end;
+
+procedure TForm1.idHl7ServerDisconnect(Sender: TObject);
+begin
+  //Currently if evcents log to memo even in critical section it breaks the whole thread schedule system
+  logGeneral('serverdisconnect : ');
+end;
+
+procedure TForm1.idHl7ServerReceiveError(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; AException: Exception; var VReply: string; var VDropConnection: boolean);
+begin
+  logGeneral('servrcverr : ' + AException.Message);
+  VDropConnection := True;
+end;
+
+procedure TForm1.Panel3Click(Sender: TObject);
+begin
+
+end;
+
+
+procedure TForm1.hl7ServerReceive(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string; var VHandled: boolean; var VReply: string);
+begin
+  vReply := memServerReply.Lines.Text;
+  memServer.lines.text := Amsg;
+  vhandled := True;
+  logGeneral('servreceived '+AMsg+
+                      '- reply provided '+vReply);
+
+end;
+
+procedure TForm1.hl7ServerMsgArrive(ASender: TObject; AConnection: TIdTCPConnection; AMsg: string);
+begin
+  logGeneral('servmsgarrive : ' + AMsg);
+  memServer.lines.add(amsg);
+
+  idHl7Server.AsynchronousSend(memServerReply.Lines.text,AConnection);
+end;
+
+procedure TForm1.hl7clientReceive(ASender: TObject;
+  AConnection: TIdTCPConnection; AMsg: string; var VHandled: boolean;
+  var VReply: string);
+begin
+  memClientReplyText.lines.text := Amsg;
+  vhandled := True;
+  logGeneral('clreceived '+AMsg);
+
+end;
+
+procedure TForm1.logGeneral(sText: String);
+begin
+  TLog.LogMsg(sText);
+
+end;
+
+procedure TForm1.clientSend;
+var
+  iX: integer;
+  sAnt: string;
+//  vR : TSendResponse;
+  vMsg : IInterface;
+begin
+  if idHl7Client.Status <> isConnected then begin
+    idHl7Client.Start;
+    idHl7Client.WaitForConnection(10000);
+  end;
+  idHl7Client.SendMessage(memClient.Lines.Text);
+  iX := 0;
+  while (iX < 10)  do begin
+    Inc(iX);
+    sleep(10);
+    Application.ProcessMessages;
+    (*vR*)vMsg := idHl7Client.GetMessage(sAnt);
+    if vMsg <> nil (*vR = srOK*) then begin
+      memClientReplyText.Lines.text := 'success : '+sAnt;
+      break
+(*  end else if vR = srError then begin
+      memClientReplyText.Lines.text := 'error : '+sAnt;
+      break;
+    end else if vR = srTimeout then begin
+      memClientReplyText.Lines.text := 'timeout waiting for reply ';
+      break;*)
+    end;
+  end;
+//  memClientReplyText.Lines.Text := sAnt;
+
+end;
+
+procedure TForm1.btnListenClick(Sender: TObject);
+begin
+  if btnListen.Tag = 0 then begin
+    idHl7Server.Port := StrToInt(edtServerPort.Text);
+    idHl7Server.Start;
+    btnListen.Tag := 1;
+    btnListen.Caption := 'Stop';
+  end else begin
+    idHl7Server.Stop;
+    btnListen.Caption := 'Start';
+    btnListen.Tag := 0;
+  end;
+end;
+
+end.

TEMPAT SAMPAH
Lib/examples/idhl7/hl7_usage_sample.ico


+ 83 - 0
Lib/examples/idhl7/hl7_usage_sample.lpi

@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CONFIG>
+  <ProjectOptions>
+    <Version Value="12"/>
+    <PathDelim Value="\"/>
+    <General>
+      <SessionStorage Value="InProjectDir"/>
+      <Title Value="hl7_usage_sample"/>
+      <Scaled Value="True"/>
+      <ResourceType Value="res"/>
+      <UseXPManifest Value="True"/>
+      <XPManifest>
+        <DpiAware Value="True"/>
+      </XPManifest>
+      <Icon Value="0"/>
+    </General>
+    <BuildModes>
+      <Item Name="Default" Default="True"/>
+    </BuildModes>
+    <PublishOptions>
+      <Version Value="2"/>
+      <UseFileFilters Value="True"/>
+    </PublishOptions>
+    <RunParams>
+      <FormatVersion Value="2"/>
+    </RunParams>
+    <RequiredPackages>
+      <Item>
+        <PackageName Value="indylaz"/>
+      </Item>
+      <Item>
+        <PackageName Value="LCL"/>
+      </Item>
+    </RequiredPackages>
+    <Units>
+      <Unit>
+        <Filename Value="hl7_usage_sample.lpr"/>
+        <IsPartOfProject Value="True"/>
+      </Unit>
+      <Unit>
+        <Filename Value="fmain.pas"/>
+        <IsPartOfProject Value="True"/>
+        <ComponentName Value="Form1"/>
+        <HasResources Value="True"/>
+        <ResourceBaseClass Value="Form"/>
+      </Unit>
+    </Units>
+  </ProjectOptions>
+  <CompilerOptions>
+    <Version Value="11"/>
+    <PathDelim Value="\"/>
+    <Target>
+      <Filename Value="hl7_usage_sample"/>
+    </Target>
+    <SearchPaths>
+      <IncludeFiles Value="$(ProjOutDir)"/>
+      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+    </SearchPaths>
+    <Linking>
+      <Debugging>
+        <DebugInfoType Value="dsDwarf3"/>
+      </Debugging>
+      <Options>
+        <Win32>
+          <GraphicApplication Value="True"/>
+        </Win32>
+      </Options>
+    </Linking>
+  </CompilerOptions>
+  <Debugging>
+    <Exceptions>
+      <Item>
+        <Name Value="EAbort"/>
+      </Item>
+      <Item>
+        <Name Value="ECodetoolError"/>
+      </Item>
+      <Item>
+        <Name Value="EFOpenError"/>
+      </Item>
+    </Exceptions>
+  </Debugging>
+</CONFIG>

+ 25 - 0
Lib/examples/idhl7/hl7_usage_sample.lpr

@@ -0,0 +1,25 @@
+program hl7_usage_sample;
+
+{$mode objfpc}{$H+}
+
+uses
+  {$IFDEF UNIX}
+  cthreads,
+  {$ENDIF}
+  {$IFDEF HASAMIGA}
+  athreads,
+  {$ENDIF}
+  Interfaces, // this includes the LCL widgetset
+  Forms, fmain, indylaz
+  { you can add units after this };
+
+{$R *.res}
+
+begin
+  RequireDerivedFormResource:=True;
+  Application.Scaled:=True;
+  Application.Initialize;
+  Application.CreateForm(TForm1, Form1);
+  Application.Run;
+end.
+

+ 275 - 0
Lib/examples/idhl7/hl7_usage_sample.lps

@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CONFIG>
+  <ProjectSession>
+    <PathDelim Value="\"/>
+    <Version Value="12"/>
+    <BuildModes Active="Default"/>
+    <Units>
+      <Unit>
+        <Filename Value="hl7_usage_sample.lpr"/>
+        <IsPartOfProject Value="True"/>
+        <EditorIndex Value="-1"/>
+        <WindowIndex Value="-1"/>
+        <TopLine Value="-1"/>
+        <CursorPos X="-1" Y="-1"/>
+        <UsageCount Value="65"/>
+      </Unit>
+      <Unit>
+        <Filename Value="fmain.pas"/>
+        <IsPartOfProject Value="True"/>
+        <ComponentName Value="Form1"/>
+        <HasResources Value="True"/>
+        <ResourceBaseClass Value="Form"/>
+        <IsVisibleTab Value="True"/>
+        <TopLine Value="117"/>
+        <CursorPos X="56" Y="130"/>
+        <UsageCount Value="65"/>
+        <Loaded Value="True"/>
+      </Unit>
+      <Unit>
+        <Filename Value="..\..\Protocols\IdHL7.pas"/>
+        <EditorIndex Value="3"/>
+        <TopLine Value="551"/>
+        <CursorPos X="33" Y="559"/>
+        <UsageCount Value="15"/>
+        <Bookmarks Count="4">
+          <Item0 X="3" Y="1269" ID="3"/>
+          <Item1 X="3" Y="1187" ID="4"/>
+          <Item2 X="6" Y="255" ID="1"/>
+          <Item3 X="23" Y="215" ID="2"/>
+        </Bookmarks>
+        <Loaded Value="True"/>
+        <DefaultSyntaxHighlighter Value="Delphi"/>
+      </Unit>
+      <Unit>
+        <Filename Value="..\..\..\..\..\lcl\include\control.inc"/>
+        <EditorIndex Value="-1"/>
+        <TopLine Value="2939"/>
+        <CursorPos Y="2959"/>
+        <UsageCount Value="10"/>
+      </Unit>
+      <Unit>
+        <Filename Value="..\..\Core\IdIOHandler.pas"/>
+        <EditorIndex Value="9"/>
+        <TopLine Value="2134"/>
+        <CursorPos X="109" Y="2153"/>
+        <UsageCount Value="12"/>
+        <Loaded Value="True"/>
+        <DefaultSyntaxHighlighter Value="Delphi"/>
+      </Unit>
+      <Unit>
+        <Filename Value="..\..\Core\IdCustomTCPServer.pas"/>
+        <EditorIndex Value="5"/>
+        <TopLine Value="543"/>
+        <CursorPos X="17" Y="560"/>
+        <UsageCount Value="11"/>
+        <Loaded Value="True"/>
+        <DefaultSyntaxHighlighter Value="Delphi"/>
+      </Unit>
+      <Unit>
+        <Filename Value="..\..\Core\IdContext.pas"/>
+        <EditorIndex Value="6"/>
+        <TopLine Value="177"/>
+        <CursorPos Y="189"/>
+        <UsageCount Value="11"/>
+        <Loaded Value="True"/>
+        <DefaultSyntaxHighlighter Value="Delphi"/>
+      </Unit>
+      <Unit>
+        <Filename Value="..\..\Core\IdTask.pas"/>
+        <EditorIndex Value="7"/>
+        <TopLine Value="121"/>
+        <CursorPos Y="137"/>
+        <UsageCount Value="11"/>
+        <Loaded Value="True"/>
+        <DefaultSyntaxHighlighter Value="Delphi"/>
+      </Unit>
+      <Unit>
+        <Filename Value="..\..\Core\IdThread.pas"/>
+        <EditorIndex Value="8"/>
+        <TopLine Value="447"/>
+        <CursorPos Y="458"/>
+        <UsageCount Value="11"/>
+        <Loaded Value="True"/>
+        <DefaultSyntaxHighlighter Value="Delphi"/>
+      </Unit>
+      <Unit>
+        <Filename Value="..\..\System\IdGlobal.pas"/>
+        <EditorIndex Value="4"/>
+        <TopLine Value="414"/>
+        <CursorPos X="33" Y="434"/>
+        <UsageCount Value="11"/>
+        <Loaded Value="True"/>
+        <DefaultSyntaxHighlighter Value="Delphi"/>
+      </Unit>
+      <Unit>
+        <Filename Value="..\..\..\..\..\lcl\interfaces\win32\win32memostrings.inc"/>
+        <EditorIndex Value="-1"/>
+        <TopLine Value="143"/>
+        <CursorPos X="29" Y="150"/>
+        <UsageCount Value="10"/>
+      </Unit>
+      <Unit>
+        <Filename Value="..\..\..\..\..\lcl\forms.pp"/>
+        <UnitName Value="Forms"/>
+        <EditorIndex Value="1"/>
+        <TopLine Value="1494"/>
+        <CursorPos X="15" Y="1506"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit>
+      <Unit>
+        <Filename Value="..\..\..\..\..\lcl\include\application.inc"/>
+        <EditorIndex Value="2"/>
+        <TopLine Value="2218"/>
+        <CursorPos X="78" Y="2218"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit>
+    </Units>
+    <JumpHistory HistoryIndex="29">
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="158" TopLine="145"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="157" TopLine="145"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="195" Column="81" TopLine="178"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="190" Column="25" TopLine="179"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="51" Column="15" TopLine="49"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="141" Column="3" TopLine="137"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="49" Column="15" TopLine="40"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="141" Column="22" TopLine="126"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="56" Column="15" TopLine="40"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="157" Column="46" TopLine="147"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="156" Column="69" TopLine="147"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="60" Column="15" TopLine="45"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="193" Column="40" TopLine="178"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="56" Column="15" TopLine="49"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="157" Column="38" TopLine="145"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="60" Column="15" TopLine="45"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="193" Column="44" TopLine="187"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="56" Column="15" TopLine="49"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="157" Column="37" TopLine="145"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="153" Column="32" TopLine="145"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="22" TopLine="3"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="23" TopLine="5"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="93" Column="38" TopLine="91"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="16" Column="3" TopLine="4"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="25" Column="42" TopLine="13"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="100" Column="13" TopLine="84"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="73" Column="23" TopLine="54"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="223" TopLine="219"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="68" TopLine="62"/>
+      </Position>
+      <Position>
+        <Filename Value="fmain.pas"/>
+        <Caret Line="185" TopLine="166"/>
+      </Position>
+    </JumpHistory>
+    <RunParams>
+      <FormatVersion Value="2"/>
+      <Modes ActiveMode=""/>
+    </RunParams>
+  </ProjectSession>
+  <Debugging>
+    <BreakPoints>
+      <Item>
+        <Kind Value="bpkSource"/>
+        <WatchScope Value="wpsLocal"/>
+        <WatchKind Value="wpkWrite"/>
+        <Source Value="fmain.pas"/>
+        <Line Value="241"/>
+      </Item>
+      <Item>
+        <Kind Value="bpkSource"/>
+        <WatchScope Value="wpsLocal"/>
+        <WatchKind Value="wpkWrite"/>
+        <Source Value="..\..\Protocols\IdHL7.pas"/>
+        <Line Value="1195"/>
+      </Item>
+    </BreakPoints>
+  </Debugging>
+</CONFIG>

TEMPAT SAMPAH
Lib/examples/idhl7/hl7_usage_sample.res


+ 276 - 0
Lib/examples/idhl7/lib/x86_64-win64/fmain.lfm

@@ -0,0 +1,276 @@
+object Form1: TForm1
+  Left = 229
+  Height = 837
+  Top = 324
+  Width = 1022
+  Caption = 'idHL7 Sample Client and Server'
+  ClientHeight = 837
+  ClientWidth = 1022
+  DesignTimePPI = 120
+  OnCloseQuery = FormCloseQuery
+  OnCreate = FormCreate
+  LCLVersion = '2.2.4.0'
+  object Panel1: TPanel
+    Left = 0
+    Height = 112
+    Top = 0
+    Width = 1022
+    Align = alTop
+    ClientHeight = 112
+    ClientWidth = 1022
+    TabOrder = 0
+    object btnStart: TButton
+      Left = 208
+      Height = 31
+      Top = 56
+      Width = 94
+      Caption = 'Send'
+      OnClick = btnStartClick
+      TabOrder = 0
+    end
+    object Label2: TLabel
+      Left = 88
+      Height = 20
+      Top = 16
+      Width = 12
+      Caption = 'IP'
+      ParentColor = False
+    end
+    object edtServer: TEdit
+      Left = 112
+      Height = 28
+      Top = 16
+      Width = 128
+      TabOrder = 1
+      Text = '127.0.0.1'
+    end
+    object Label3: TLabel
+      Left = 262
+      Height = 20
+      Top = 16
+      Width = 26
+      Caption = 'Port'
+      ParentColor = False
+    end
+    object edtPort: TEdit
+      Left = 310
+      Height = 28
+      Top = 16
+      Width = 100
+      TabOrder = 2
+      Text = '1234'
+    end
+    object Panel5: TPanel
+      Left = 512
+      Height = 110
+      Top = 1
+      Width = 509
+      Align = alRight
+      BorderStyle = bsSingle
+      ClientHeight = 106
+      ClientWidth = 505
+      TabOrder = 3
+      object Label1: TLabel
+        Left = 120
+        Height = 20
+        Top = 21
+        Width = 26
+        Caption = 'Port'
+        ParentColor = False
+      end
+      object edtServerPort: TEdit
+        Left = 175
+        Height = 28
+        Top = 21
+        Width = 100
+        TabOrder = 0
+        Text = '1234'
+      end
+      object btnListen: TButton
+        Left = 178
+        Height = 31
+        Top = 55
+        Width = 94
+        Caption = 'Listen'
+        OnClick = btnListenClick
+        TabOrder = 1
+      end
+      object Label4: TLabel
+        Left = 8
+        Height = 20
+        Top = 80
+        Width = 41
+        Caption = 'Server'
+        ParentColor = False
+      end
+    end
+    object Label5: TLabel
+      Left = 19
+      Height = 20
+      Top = 80
+      Width = 38
+      Caption = 'Client'
+      ParentColor = False
+    end
+  end
+  object Panel2: TPanel
+    Left = 0
+    Height = 524
+    Top = 112
+    Width = 1022
+    Align = alClient
+    ClientHeight = 524
+    ClientWidth = 1022
+    TabOrder = 1
+    object Panel3: TPanel
+      Left = 1
+      Height = 522
+      Top = 1
+      Width = 511
+      Align = alLeft
+      ClientHeight = 522
+      ClientWidth = 511
+      TabOrder = 0
+      OnClick = Panel3Click
+      object memClient: TMemo
+        Left = 1
+        Height = 281
+        Top = 1
+        Width = 509
+        Align = alTop
+        Lines.Strings = (
+          'MSH|^~\&|Radiology|IDHL7|HL7ID|Radiology|20140616051341||ORU^R01|30081|IW|2.3.1|||1|1|ZAF|'
+          'PID|||1234567890012|QP-201389|WILCO^ROGER^R^^MR||1994803030300|M||041170-20140616-104412-9415-253||||||||SQ1507337|1234567890012|'
+          'PV1||O|PH|||||^^^^^||||||||0||||||||||||||||||||||||||||201406160600|'
+          'OBR|1|2014061600054^PHL|SQ1507337^PHL|12310^X-RAY ORBITS LESS THAN 3 VIEWS||201406160600|201406160600||||||X-RAY ORBITS LESS THAN 3 VIEWS|||SPIKE^PET^^S^^DR||SQ1507337|KRK^PHEELBUB RADIOLOGY PHEELBUB|||189912301200||PHL|F|||^||||FBD^KIEKIE ORBETAL||NA|^189912301200|201406160600|'
+          'OBX|0|TX|||Accession Number : SQ1507337||||||F||||'
+          'OBX|1|TX|||||||||F||||'
+          'OBX|2|TX|||CT ORBITS||||||F||||'
+          'OBX|3|TX|||Facial trauma? Blowout fracture.||||||F||||'
+          'OBX|4|TX|||||||||F||||'
+          'OBX|5|TX|||There is a blowout fracture of the posterior aspect of the lamina papyracea (posteromedial orbital wall). Extraconal fat and medial rectus muscle protrudes into ethmoid nasal cavity and there is likely muscle entrapment.||||||F||||'
+          'OBX|6|TX|||There is orbital emphysema also extending to the maxillary subcutaneous tissue and the preseptal eyelids.||||||F||||'
+          'OBX|7|TX|||The globe appear intact. There is no swelling of the orbital optic nerve.||||||F||||'
+          'OBX|8|TX|||||||||F||||'
+          'OBX|9|TX|||COMMENT||||||F||||'
+          'OBX|10|TX|||There is a blowout fracture involving the posteromedial wall of the right orbit (lamina papyracea) with protruding medial rectus muscle.||||||F||||'
+          'OBX|11|TX|||||||||F||||'
+          'OBX|12|TX|||||||||F||||'
+          'OBX|13|TX|||VERIFIED BY: KIEKIE ORBETAL on 2254/02/14 5:13 PM||||||F||||'
+        )
+        TabOrder = 0
+        WordWrap = False
+      end
+      object Panel7: TPanel
+        Left = 1
+        Height = 23
+        Top = 282
+        Width = 509
+        Align = alTop
+        Caption = 'Client Reply'
+        TabOrder = 1
+      end
+      object memClientReplyText: TMemo
+        Left = 1
+        Height = 216
+        Top = 305
+        Width = 509
+        Align = alClient
+        TabOrder = 2
+        WordWrap = False
+      end
+    end
+    object Panel4: TPanel
+      Left = 512
+      Height = 522
+      Top = 1
+      Width = 509
+      Align = alClient
+      BorderStyle = bsSingle
+      ClientHeight = 518
+      ClientWidth = 505
+      TabOrder = 1
+      object memServer: TMemo
+        Left = 1
+        Height = 279
+        Top = 1
+        Width = 503
+        Align = alTop
+        TabOrder = 0
+        WordWrap = False
+      end
+      object Panel6: TPanel
+        Left = 1
+        Height = 23
+        Top = 280
+        Width = 503
+        Align = alTop
+        Caption = 'Server Reply Text (to Send)'
+        TabOrder = 1
+      end
+      object memServerReply: TMemo
+        Left = 1
+        Height = 214
+        Top = 303
+        Width = 503
+        Align = alClient
+        Lines.Strings = (
+          'MSH|^~\&|IDHl7|HL7ID|||||ORU^R01|22540214051541|T|2.3'
+          'MSA|AA|30081||||'
+        )
+        TabOrder = 2
+        WordWrap = False
+      end
+    end
+  end
+  object Panel8: TPanel
+    Left = 0
+    Height = 201
+    Top = 636
+    Width = 1022
+    Align = alBottom
+    Caption = 'Panel8'
+    ClientHeight = 201
+    ClientWidth = 1022
+    TabOrder = 2
+    object memGeneral: TMemo
+      Left = 1
+      Height = 199
+      Top = 1
+      Width = 1020
+      Align = alClient
+      TabOrder = 0
+      WordWrap = False
+    end
+  end
+  object idHl7Client: TIdHL7
+    KeepAlive.UseKeepAlive = False
+    KeepAlive.IdleTimeMS = 0
+    KeepAlive.IntervalMS = 0
+    IPRestriction = '0.0.0.0'
+    IPMask = '0.0.0.0'
+    CommunicationMode = cmSynchronous
+    OnConnect = idHl7ClientConnect
+    OnDisconnect = idHl7ClientDisconnect
+    OnConnCountChange = idHl7ClientConnCountChange
+    OnReceiveError = idHl7ClientReceiveError
+    Left = 328
+    Top = 72
+  end
+  object idHl7Server: TIdHL7
+    Port = 1234
+    KeepAlive.UseKeepAlive = False
+    KeepAlive.IdleTimeMS = 0
+    KeepAlive.IntervalMS = 0
+    ConnectionLimit = 10
+    IPRestriction = '0.0.0.0'
+    IPMask = '0.0.0.0'
+    CommunicationMode = cmSynchronous
+    OnConnect = idHl7ServerConnect
+    OnDisconnect = idHl7ServerDisconnect
+    OnConnCountChange = idHl7ServerConnCountChange
+    OnReceiveError = idHl7ServerReceiveError
+    Left = 840
+    Top = 40
+  end
+end

TEMPAT SAMPAH
Lib/examples/idhl7/lib/x86_64-win64/fmain.ppu


+ 5 - 0
Lib/examples/idhl7/lib/x86_64-win64/hl7_usage_sample.compiled

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CONFIG>
+  <Compiler Value="C:\lazarus\fpc\3.2.2\bin\x86_64-win64\fpc.exe" Date="1429740242"/>
+  <Params Value=" -MObjFPC -Scghi -O1 -gw3 -gl -WG -l -vewnhibq -FiC:\Dev\Github\Indy\Indy\Lib\examples\idhl7\lib\x86_64-win64 -FuC:\lazarus\components\indy\Lib\lib\x86_64-win64 -FuC:\lazarus\components\ideintf\units\x86_64-win64\win32 -FuC:\lazarus\components\lazcontrols\lib\x86_64-win64\win32 -FuC:\lazarus\lcl\units\x86_64-win64\win32 -FuC:\lazarus\lcl\units\x86_64-win64 -FuC:\lazarus\components\freetype\lib\x86_64-win64 -FuC:\lazarus\components\buildintf\units\x86_64-win64 -FuC:\lazarus\components\lazutils\lib\x86_64-win64 -FuC:\lazarus\packager\units\x86_64-win64 -FuC:\Dev\Github\Indy\Indy\Lib\examples\idhl7\ -FUC:\Dev\Github\Indy\Indy\Lib\examples\idhl7\lib\x86_64-win64\ -FEC:\Dev\Github\Indy\Indy\Lib\examples\idhl7\ -oC:\Dev\Github\Indy\Indy\Lib\examples\idhl7\hl7_usage_sample.exe -dLCL -dLCLwin32 hl7_usage_sample.lpr"/>
+</CONFIG>

TEMPAT SAMPAH
Lib/examples/idhl7/lib/x86_64-win64/hl7_usage_sample.obj


TEMPAT SAMPAH
Lib/examples/idhl7/lib/x86_64-win64/hl7_usage_sample.res


+ 856 - 0
Lib/examples/idhl7/link6224.res

@@ -0,0 +1,856 @@
+SEARCH_DIR("C:\lazarus\components\indy\Lib\lib\x86_64-win64\")
+SEARCH_DIR("C:\lazarus\components\ideintf\units\x86_64-win64\win32\")
+SEARCH_DIR("C:\lazarus\components\lazcontrols\lib\x86_64-win64\win32\")
+SEARCH_DIR("C:\lazarus\lcl\units\x86_64-win64\win32\")
+SEARCH_DIR("C:\lazarus\lcl\units\x86_64-win64\")
+SEARCH_DIR("C:\lazarus\components\freetype\lib\x86_64-win64\")
+SEARCH_DIR("C:\lazarus\components\buildintf\units\x86_64-win64\")
+SEARCH_DIR("C:\lazarus\components\lazutils\lib\x86_64-win64\")
+SEARCH_DIR("C:\lazarus\packager\units\x86_64-win64\")
+SEARCH_DIR(".\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\httpd22\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\zlib\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-jedi\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\webidl\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\vcl-compat\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\utils-pas2js\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\unzip\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\tplylib\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\tcl\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\symbolic\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\sqlite\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\sdl\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl-unicode\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl-objpas\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl-generics\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl-extra\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl-console\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\rsvg\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\regexpr\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\ptc\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\postgres\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\paszlib\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\pastojs\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\oracle\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\openssl\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\opengles\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\opengl\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\opencl\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\odbc\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\odata\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\nvapi\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\numlib\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\mysql\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\mad\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\libvlc\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\libusb\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\libtar\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\libmicrohttpd\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\libgd\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\libffi\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\libenet\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\libcurl\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\jni\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\imagemagick\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\ibase\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\httpd24\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\hermes\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\hash\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\gtk2\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\gtk1\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\graph\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\googleapi\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\gnutls\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\gdbint\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fv\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fppkg\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fpmkunit\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fpindexer\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fpgtk\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fftw\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-xml\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-web\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-stl\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-sound\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-sdo\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-res\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-report\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-registry\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-process\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-pdf\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-passrc\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-net\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-json\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-js\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-fpcunit\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-extra\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-db\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-base\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\fastcgi\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\dblib\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\chm\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\cdrom\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\cairo\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\bzip2\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\units\x86_64-win64\")
+SEARCH_DIR("C:\lazarus\fpc\3.2.2\bin\x86_64-win64\")
+INPUT(
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\sysinit.o
+C:\Dev\Github\Indy\Indy\Lib\examples\idhl7\lib\x86_64-win64\hl7_usage_sample.o
+C:\Dev\Github\Indy\Indy\Lib\examples\idhl7\lib\x86_64-win64\hl7_usage_sample.obj
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\system.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\lnfodwrf.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\exeinfo.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\strings.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\windows.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\objpas.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\fpintres.o
+C:\lazarus\lcl\units\x86_64-win64\win32\interfaces.o
+C:\lazarus\lcl\units\x86_64-win64\forms.o
+C:\Dev\Github\Indy\Indy\Lib\examples\idhl7\lib\x86_64-win64\fmain.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\indylaz.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazutf8.o
+C:\lazarus\lcl\units\x86_64-win64\interfacebase.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\fpcadds.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\classes.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\sysutils.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl-objpas\strutils.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\rtlconsts.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\types.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\typinfo.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\sysconst.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\windirs.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\math.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-base\gettext.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpimage.o
+C:\lazarus\lcl\units\x86_64-win64\lclproc.o
+C:\lazarus\lcl\units\x86_64-win64\lcltype.o
+C:\lazarus\lcl\units\x86_64-win64\lmessages.o
+C:\lazarus\lcl\units\x86_64-win64\lclplatformdef.o
+C:\lazarus\lcl\units\x86_64-win64\intfgraphics.o
+C:\lazarus\lcl\units\x86_64-win64\themes.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\integerlist.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazutilities.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazloggerbase.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\graphtype.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\graphmath.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\laz_avl_tree.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazfileutils.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazmethodlist.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\laztracer.o
+C:\lazarus\lcl\units\x86_64-win64\lclstrconsts.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazutilsstrconsts.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\shlobj.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\activex.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\shellapi.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\commctrl.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl-objpas\variants.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\ctypes.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl-objpas\varutils.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazclasses.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\messages.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpreadbmp.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpwritebmp.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\bmpcomn.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpreadpng.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpwritepng.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpreadtiff.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpwritetiff.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fptiffcmn.o
+C:\lazarus\lcl\units\x86_64-win64\lclversion.o
+C:\lazarus\lcl\units\x86_64-win64\icnstypes.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpimgcmn.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\pngcomn.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\paszlib\zstream.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\paszlib\zbase.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\paszlib\gzio.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\dos.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\hash\crc.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\paszlib\zdeflate.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\paszlib\zinflate.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\paszlib\trees.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\paszlib\adler.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\paszlib\infblock.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\paszlib\infutil.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\paszlib\infcodes.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\paszlib\inftrees.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\paszlib\inffast.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazversion.o
+C:\lazarus\lcl\units\x86_64-win64\graphics.o
+C:\lazarus\lcl\units\x86_64-win64\lclintf.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-base\contnrs.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpcanvas.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpreadpnm.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpwritepnm.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpreadjpeg.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpwritejpeg.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpreadgif.o
+C:\lazarus\lcl\units\x86_64-win64\lresources.o
+C:\lazarus\lcl\units\x86_64-win64\lclrescache.o
+C:\lazarus\lcl\units\x86_64-win64\wsreferences.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\clipping.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jpeglib.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdapimin.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdatasrc.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdapistd.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jmorecfg.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdeferr.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jinclude.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jerror.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jmemmgr.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdmarker.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdinput.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jcomapi.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jutils.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jmemnobs.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdmaster.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdcolor.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdsample.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdpostct.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jddctmgr.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdphuff.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdhuff.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdcoefct.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdmainct.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jquant1.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jquant2.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdmerge.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdct.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jidctfst.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jidctint.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jidctflt.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jidctred.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jcapistd.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jcapimin.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jdatadst.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jcparam.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jcinit.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jcmarker.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jcphuff.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jchuff.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jcmaster.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jccolor.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jcsample.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jcprepct.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jcdctmgr.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jccoefct.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jcmainct.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jfdctint.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jfdctfst.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\pasjpeg\jfdctflt.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazconfigstorage.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\dynqueue.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\avglvltree.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazdbglog.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-base\syncobjs.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazutf16.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\fileutil.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\utf8process.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazsysutils.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\maps.o
+C:\lazarus\lcl\units\x86_64-win64\tmschema.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\fgl.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\masks.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-process\process.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-process\pipes.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32int.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\multimon.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\character.o
+C:\lazarus\lcl\units\x86_64-win64\controls.o
+C:\lazarus\lcl\units\x86_64-win64\buttons.o
+C:\lazarus\lcl\units\x86_64-win64\dialogs.o
+C:\lazarus\lcl\units\x86_64-win64\stdctrls.o
+C:\lazarus\lcl\units\x86_64-win64\menus.o
+C:\lazarus\lcl\units\x86_64-win64\comctrls.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32def.o
+C:\lazarus\lcl\units\x86_64-win64\spin.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\translations.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\unicodedata.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\unicodenumtable.o
+C:\lazarus\lcl\units\x86_64-win64\imglist.o
+C:\lazarus\lcl\units\x86_64-win64\propertystorage.o
+C:\lazarus\lcl\units\x86_64-win64\actnlist.o
+C:\lazarus\lcl\units\x86_64-win64\lclclasses.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\uitypes.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fpimgcanv.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\fppixlcanv.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\pixtools.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-image\ellipses.o
+C:\lazarus\lcl\units\x86_64-win64\wslclclasses.o
+C:\lazarus\lcl\units\x86_64-win64\wsimglist.o
+C:\lazarus\lcl\units\x86_64-win64\wsproc.o
+C:\lazarus\lcl\units\x86_64-win64\wsfactory.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-base\rttiutils.o
+C:\lazarus\lcl\units\x86_64-win64\wsmenus.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazlogger.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazstringutils.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-base\custapp.o
+C:\lazarus\lcl\units\x86_64-win64\customtimer.o
+C:\lazarus\lcl\units\x86_64-win64\clipbrd.o
+C:\lazarus\lcl\units\x86_64-win64\helpintfs.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-base\singleinstance.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\chm\fasthtmlparser.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl-objpas\system.uitypes.o
+C:\lazarus\lcl\units\x86_64-win64\wscontrols.o
+C:\lazarus\lcl\units\x86_64-win64\wsforms.o
+C:\lazarus\lcl\units\x86_64-win64\imagelistcache.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\textstrings.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\extendedstrings.o
+C:\lazarus\lcl\units\x86_64-win64\wsstdctrls.o
+C:\lazarus\lcl\units\x86_64-win64\wsbuttons.o
+C:\lazarus\lcl\units\x86_64-win64\buttonpanel.o
+C:\lazarus\lcl\units\x86_64-win64\extctrls.o
+C:\lazarus\lcl\units\x86_64-win64\lcltaskdialog.o
+C:\lazarus\lcl\units\x86_64-win64\popupnotifier.o
+C:\lazarus\lcl\units\x86_64-win64\wsextctrls.o
+C:\lazarus\lcl\units\x86_64-win64\wsdialogs.o
+C:\lazarus\lcl\units\x86_64-win64\toolwin.o
+C:\lazarus\lcl\units\x86_64-win64\wscomctrls.o
+C:\lazarus\lcl\units\x86_64-win64\wstoolwin.o
+C:\lazarus\lcl\units\x86_64-win64\wsspin.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-json\jsonscanner.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-json\jsonparser.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-json\fpjson.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lconvencoding.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\stringhashlist.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-json\jsonreader.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\codepagescommon.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\codepagesasian.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32proc.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wsfactory.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wscontrols.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wsbuttons.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wsmenus.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wsstdctrls.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wsdialogs.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32themes.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32extra.o
+C:\lazarus\lcl\units\x86_64-win64\lclmessageglue.o
+C:\lazarus\lcl\units\x86_64-win64\calendar.o
+C:\lazarus\lcl\units\x86_64-win64\extdlgs.o
+C:\lazarus\lcl\units\x86_64-win64\checklst.o
+C:\lazarus\lcl\units\x86_64-win64\grids.o
+C:\lazarus\lcl\units\x86_64-win64\shellctrls.o
+C:\lazarus\lcl\units\x86_64-win64\wscalendar.o
+C:\lazarus\lcl\units\x86_64-win64\calcform.o
+C:\lazarus\lcl\units\x86_64-win64\wsextdlgs.o
+C:\lazarus\lcl\units\x86_64-win64\wschecklst.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-xml\htmldefs.o
+C:\lazarus\lcl\units\x86_64-win64\maskedit.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\dynamicarray.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\laz2_xmlcfg.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lcsvutils.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\imm.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\lazfilecache.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\laz2_dom.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\laz2_xmlread.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\laz2_xmlwrite.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\laz2_xmlutils.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-base\uriparser.o
+C:\lazarus\lcl\units\x86_64-win64\wsgrids.o
+C:\lazarus\lcl\units\x86_64-win64\wsshellctrls.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wscalendar.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wschecklst.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wscomctrls.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wsextctrls.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wsextdlgs.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wsforms.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wsgrids.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wsimglist.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wsshellctrls.o
+C:\lazarus\lcl\units\x86_64-win64\win32\win32wsspin.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\uxtheme.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\commdlg.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHL7.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTCPConnection.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdBaseComponent.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdContext.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdException.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdGlobal.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTCPClient.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTCPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdStackConsts.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIOHandlerSocket.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl-objpas\dateutils.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdResourceStrings.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdStream.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdStreamVCL.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSocketHandle.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTask.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdYarn.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdThreadSafe.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdStack.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdWship6.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdWinsock2.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdStackWindows.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdStackBSDBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIDN.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAntiFreezeBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdComponent.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdExceptionCore.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIntercept.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIOHandler.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIOHandlerStack.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdReply.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdBuffer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdResourceStringsCore.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCustomTransparentProxy.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSocks.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAssignedNumbers.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIPAddress.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdReplyRFC.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCustomTCPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdScheduler.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSchedulerOfThread.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdServerIOHandler.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdServerIOHandlerStack.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdThread.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdServerIOHandlerSocket.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdGlobalCore.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSchedulerOfThreadDefault.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdGlobalProtocols.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdResourceStringsProtocols.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCharsets.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-registry\registry.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\fcl-base\inifiles.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAboutVCL.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAntiFreeze.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCoreDsnRegister.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDsnCoreResourceStrings.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDsnPropEdBindingVCL.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDsnRegister.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDsnResourceStrings.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDsnSASLListEditorFormVCL.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdRegister.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdRegisterCore.o
+C:\lazarus\packager\units\x86_64-win64\lazaruspackageintf.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\propedits.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\componenteditors.o
+C:\lazarus\lcl\units\x86_64-win64\editbtn.o
+C:\lazarus\lcl\units\x86_64-win64\valedit.o
+C:\lazarus\lcl\units\x86_64-win64\filectrl.o
+C:\lazarus\components\lazcontrols\lib\x86_64-win64\win32\checkboxthemed.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\objinspstrconsts.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\propeditutils.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\frmselectprops.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\stringspropeditdlg.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\keyvalpropeditdlg.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\collectionpropeditform.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\filefilterpropeditor.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\pagespropeditdlg.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\idewindowintf.o
+C:\lazarus\lcl\units\x86_64-win64\groupededit.o
+C:\lazarus\lcl\units\x86_64-win64\calendarpopup.o
+C:\lazarus\lcl\units\x86_64-win64\timepopup.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\ideimagesintf.o
+C:\lazarus\components\buildintf\units\x86_64-win64\ideoptionsintf.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\lazideintf.o
+C:\lazarus\lcl\units\x86_64-win64\lazhelphtml.o
+C:\lazarus\components\buildintf\units\x86_64-win64\baseideintf.o
+C:\lazarus\components\buildintf\units\x86_64-win64\compoptsintf.o
+C:\lazarus\components\buildintf\units\x86_64-win64\projectintf.o
+C:\lazarus\components\buildintf\units\x86_64-win64\ideexterntoolintf.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\ideopteditorintf.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\srceditorintf.o
+C:\lazarus\lcl\units\x86_64-win64\lazhelpintf.o
+C:\lazarus\components\buildintf\units\x86_64-win64\macrointf.o
+C:\lazarus\components\buildintf\units\x86_64-win64\macrodefintf.o
+C:\lazarus\components\buildintf\units\x86_64-win64\newitemintf.o
+C:\lazarus\components\buildintf\units\x86_64-win64\projpackintf.o
+C:\lazarus\components\buildintf\units\x86_64-win64\buildstrconsts.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\editorsyntaxhighlighterdef.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\idecommands.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\texttools.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\formeditingintf.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\objectinspector.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\idedialogs.o
+C:\lazarus\components\buildintf\units\x86_64-win64\lazmsgworker.o
+C:\lazarus\components\lazutils\lib\x86_64-win64\compwriterpas.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\unitresources.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\lazstringgridedit.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\checklistboxeditordlg.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\checkgroupeditordlg.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\componentreg.o
+C:\lazarus\lcl\units\x86_64-win64\arrow.o
+C:\lazarus\lcl\units\x86_64-win64\industrialbase.o
+C:\lazarus\components\lazcontrols\lib\x86_64-win64\win32\treefilteredit.o
+C:\lazarus\components\lazcontrols\lib\x86_64-win64\win32\listfilteredit.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\idehelpintf.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\componenttreeview.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\oifavoriteproperties.o
+C:\lazarus\components\ideintf\units\x86_64-win64\win32\changeparentdlg.o
+C:\lazarus\lcl\units\x86_64-win64\lclmemmanager.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSASL.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSASLCollection.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCoder.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCoderMIME.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCoder3to4.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdBlockCipherIntercept.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdChargenServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdChargenUDPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCoderBinHex4.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCoderQuotedPrintable.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCoderUUE.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCoderXXE.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCompressorZLib.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCompressionIntercept.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdConnectThroughHttpProxy.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCookieManager.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDateTimeStamp.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDayTime.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDayTimeServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDayTimeUDP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDayTimeUDPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDICT.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDICTServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDiscardServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDiscardUDPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDNSResolver.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDNSServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdEcho.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdEchoServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdEchoUDP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdEchoUDPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdFinger.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdFingerServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdFSP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdFTP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdFTPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdGopher.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdGopherServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHashMessageDigest.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHTTP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHTTPProxyServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHTTPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIPAddrMon.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIdent.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIdentServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIMAP4.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIMAP4Server.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIPWatch.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIRC.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIrcServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdLPR.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMailBox.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMappedFTP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMappedPortTCP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMappedTelnet.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMappedPOP3.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMappedPortUDP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMessage.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMessageCoderMIME.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMessageCoderYenc.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdNetworkCalculator.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdNNTP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdNNTPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdPOP3.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdPOP3Server.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdQotd.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdQotdServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdQOTDUDP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdQOTDUDPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdRexec.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdRexecServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdRSH.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdRSHServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSASLAnonymous.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSASLDigest.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSASLExternal.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSASLLogin.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSASLOTP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSASLPlain.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSASLSKey.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSASLUserPass.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSASL_CRAM_MD5.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSASL_CRAM_SHA1.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdServerInterceptLogEvent.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdServerInterceptLogFile.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSMTP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSMTPRelay.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSMTPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSNMP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSNPP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSNTP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSocksServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSSLOpenSSL.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSysLog.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSysLogMessage.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSysLogServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSystat.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSystatServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSystatUDP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSystatUDPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTelnet.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTelnetServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTime.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTimeServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTimeUDP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTimeUDPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTrivialFTP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTrivialFTPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdUnixTime.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdUnixTimeServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdUnixTimeUDP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdUnixTimeUDPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdUserAccounts.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdUserPassProvider.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdVCard.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdWebDAV.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdWhois.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdWhoIsServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdUDPBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdUDPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCoder00E.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdZLibCompressorBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdZLibHeaders.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCTypes.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdZLibConst.o
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\dynlibs.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdZLib.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHeaderList.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCookie.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdURI.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdUriUtils.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdResourceStringsUriUtils.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdStrings.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdUDPClient.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDICTCommon.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdFIPS.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHash.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCommandHandlers.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCmdTCPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdDNSCommon.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdStruct.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdContainers.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdFTPList.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdFTPCommon.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdExplicitTLSClientServerBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdFTPListParseBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdReplyFTP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSSL.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdFTPListTypes.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHashCRC.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHashSHA.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSimpleServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdOTPCalculator.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdFTPBaseFileSystem.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdFTPListOutput.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdFTPServerContextBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdEMailAddress.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdGopherConsts.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHTTPHeaderInfo.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAuthentication.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAuthenticationManager.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMultipartFormData.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCoderHeader.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHeaderCoderBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAllHeaderCoders.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHeaderCoderPlain.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHeaderCoder2022JP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHeaderCoderIndy.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAllAuthentications.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAuthenticationNTLM.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAuthenticationSSPI.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAuthenticationDigest.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdResourceStringsOpenSSL.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSSLOpenSSLHeaders.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdNTLM.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSSPI.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdResourceStringsSSPI.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTCPStream.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCustomHTTPServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMessageParts.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMessageClient.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMessageCoder.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMessageCollection.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAttachment.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIOHandlerStream.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAttachmentFile.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdText.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMessageCoderBinHex4.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMessageCoderQuotedPrintable.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMessageCoderUUE.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMessageCoderXXE.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdAttachmentMemory.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdReplyIMAP4.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdMessageHelper.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdCmdTCPClient.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdReplyPOP3.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdRemoteCMDClient.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdRemoteCMDServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSASL_CRAMBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHMACSHA1.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHMAC.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdHMACMD5.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdServerInterceptLogBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdLogBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSMTPBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdReplySMTP.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdASN1Util.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTrivialFTPBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIcmpClient.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdInterceptSimLog.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdInterceptThrottler.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIPMCastClient.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIPMCastServer.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdLogDebug.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdLogEvent.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdLogFile.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdLogStream.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdSchedulerOfThreadPool.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdThreadComponent.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdTraceRoute.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdRawBase.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdRawClient.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdRawHeaders.o
+C:\lazarus\components\indy\Lib\lib\x86_64-win64\IdIPMCastBase.o
+)
+GROUP(
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\libimpsysinit.a
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\libimpsystem.a
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\libimpwindows.a
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\libimpfpintres.a
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\libimpsysutils.a
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\libimpwindirs.a
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\libimpshlobj.a
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\libimpactivex.a
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\libimpshellapi.a
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\libimpcommctrl.a
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl-objpas\libimpvarutils.a
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\libimpdos.a
+C:\lazarus\lcl\units\x86_64-win64\libimplclintf.a
+C:\lazarus\lcl\units\x86_64-win64\win32\libimpwin32int.a
+C:\lazarus\lcl\units\x86_64-win64\win32\libimpwin32extra.a
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\libimpimm.a
+C:\lazarus\fpc\3.2.2\units\x86_64-win64\winunits-base\libimpcommdlg.a
+)
+SEARCH_DIR("/usr/i686-pc-cygwin/lib"); SEARCH_DIR("/usr/lib"); SEARCH_DIR("/usr/lib/w32api");
+OUTPUT_FORMAT(pei-x86-64)
+ENTRY(_mainCRTStartup)
+SECTIONS
+{
+  . = SIZEOF_HEADERS;
+  . = ALIGN(__section_alignment__);
+  .text  __image_base__ + ( __section_alignment__ < 0x1000 ? . : __section_alignment__ ) :
+  {
+    __text_start__ = . ;
+    *(.init)
+    *(.text .stub .text.* .gnu.linkonce.t.*)
+    *(SORT(.text$*))
+    *(.glue_7t)
+    *(.glue_7)
+    . = ALIGN(8);
+     ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
+    LONG (-1);
+    LONG (-1);
+    *(.ctors); *(.ctor); *(SORT(.ctors.*));  LONG (0);
+    LONG (0);
+     ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
+    LONG (-1);
+    LONG (-1);
+    *(.dtors); *(.dtor); *(SORT(.dtors.*));  LONG (0);
+    LONG (0);
+     *(.fini)
+    PROVIDE (etext = .);
+    *(.gcc_except_table)
+  }
+  .data BLOCK(__section_alignment__) :
+  {
+    __data_start__ = . ;
+    *(.data .data.* .gnu.linkonce.d.* .fpc*)
+    *(.data2)
+    *(SORT(.data$*))
+    *(.jcr)
+    PROVIDE (_tls_index = .);
+    LONG (0);
+    __data_end__ = . ;
+    *(.data_cygwin_nocopy)
+  }
+  .rdata BLOCK(__section_alignment__) :
+  {
+    *(.rdata)
+    *(.rdata.*)
+    *(.rodata .rodata.* .gnu.linkonce.r.*)
+    *(SORT(.rdata$*))
+    *(.eh_frame)
+    ___RUNTIME_PSEUDO_RELOC_LIST__ = .;
+    __RUNTIME_PSEUDO_RELOC_LIST__ = .;
+    *(.rdata_runtime_pseudo_reloc)
+    ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
+    __RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
+  }
+  .pdata BLOCK(__section_alignment__) : { *(.pdata) }
+  .bss BLOCK(__section_alignment__) :
+  {
+    __bss_start__ = . ;
+    *(.bss .bss.* .gnu.linkonce.b.*)
+    *(SORT(.bss$*))
+    *(COMMON)
+    __bss_end__ = . ;
+  }
+  .edata BLOCK(__section_alignment__) : { *(.edata) }
+  .idata BLOCK(__section_alignment__) :
+  {
+    SORT(*)(.idata$2)
+    SORT(*)(.idata$3)
+    /* These zeroes mark the end of the import list.  */
+    LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
+    SORT(*)(.idata$4)
+    SORT(*)(.idata$5)
+    SORT(*)(.idata$6)
+    SORT(*)(.idata$7)
+  }
+  .CRT BLOCK(__section_alignment__) :
+  {
+    ___crt_xc_start__ = . ;
+    *(SORT(.CRT$XC*))  /* C initialization */
+    ___crt_xc_end__ = . ;
+    ___crt_xi_start__ = . ;
+    *(SORT(.CRT$XI*))  /* C++ initialization */
+    ___crt_xi_end__ = . ;
+    ___crt_xl_start__ = . ;
+    *(SORT(.CRT$XL*))  /* TLS callbacks */
+    /* ___crt_xl_end__ is defined in the TLS Directory support code */
+    PROVIDE (___crt_xl_end__ = .);
+    ___crt_xp_start__ = . ;
+    *(SORT(.CRT$XP*))  /* Pre-termination */
+    ___crt_xp_end__ = . ;
+    ___crt_xt_start__ = . ;
+    *(SORT(.CRT$XT*))  /* Termination */
+    ___crt_xt_end__ = . ;
+  }
+  .tls BLOCK(__section_alignment__) :
+  {
+    ___tls_start__ = . ;
+    *(.tls .tls.*)
+    *(.tls$)
+    *(SORT(.tls$*))
+    ___tls_end__ = . ;
+  }
+  .rsrc BLOCK(__section_alignment__) :
+  {
+    *(.rsrc)
+    *(SORT(.rsrc$*))
+  }
+  .reloc BLOCK(__section_alignment__) : { *(.reloc) }
+  .stab BLOCK(__section_alignment__) (NOLOAD) : { *(.stab) }
+  .stabstr BLOCK(__section_alignment__) (NOLOAD) : { *(.stabstr) }
+  .debug_aranges BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_aranges) }
+  .debug_pubnames BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_pubnames) }
+  .debug_info BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_info) *(.gnu.linkonce.wi.*) }
+  .debug_abbrev BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_abbrev) }
+  .debug_line BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_line) }
+  .debug_frame BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_frame) }
+  .debug_str BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_str) }
+  .debug_loc BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_loc) }
+  .debug_macinfo BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_macinfo) }
+  .debug_weaknames BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_weaknames) }
+  .debug_funcnames BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_funcnames) }
+  .debug_typenames BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_typenames) }
+  .debug_varnames BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_varnames) }
+  .debug_ranges BLOCK(__section_alignment__) (NOLOAD) : { *(.debug_ranges) }
+}

+ 12 - 0
Lib/examples/idhl7/ppas.bat

@@ -0,0 +1,12 @@
+@echo off
+SET THEFILE=C:\Dev\Github\Indy\Indy\Lib\examples\idhl7\hl7_usage_sample.exe
+echo Linking %THEFILE%
+C:\lazarus\fpc\3.2.2\bin\x86_64-win64\ld.exe -b pei-x86-64  --gc-sections   --subsystem windows --entry=_WinMainCRTStartup    -o C:\Dev\Github\Indy\Indy\Lib\examples\idhl7\hl7_usage_sample.exe C:\Dev\Github\Indy\Indy\Lib\examples\idhl7\link6224.res
+if errorlevel 1 goto linkend
+goto end
+:asmend
+echo An error occurred while assembling %THEFILE%
+goto end
+:linkend
+echo An error occurred while linking %THEFILE%
+:end

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini