program distribuidorbase_linux;


uses

  cthreads, cmem, sysutils, uemuladorwinipc, usemaforopolenta, ipcobjs, ukeydir,
  uwinmsgs, unettopos, unettopostypes, uglobsharedmem, uHeapManager,
  uconstantes_nettopos, ubuffrw, uDataSetGenerico, xmatdefs, Classes,
  winLinuxUtils, uConstantesSimSEE, uMsgRetardados,
  uFuncionesAuxiliares, uDistribuidorBase;


procedure TFmth_execute;
var
	m: TWinMsg;
begin

  writeln('TFmth_execute->distribuidor.Create');
  distribuidor := TDistribuidor.Create('distribuidorbase_linux', 'OPT', 1);
  writeln('TFmth_execute<-distribuidor.Create');

  while distribuidor.recolectar do
  begin
   writeln(' esperando msg ');
   if xGetMessage_WAIT( m ) = 0 then
   begin
     writeln('distribuidor mensaje: ', m.msgCode,' : ',m.wParam,' : ',m.lParam);
     if m.msgCode <> WM_CLOSE then
       distribuidor.Dispatch(m)
     else
     begin
       writeln('Saliendo por recibir WM_CLOSE.');
       distribuidor.recolectar:= false;
     end;
   end
   else
     write('-');
  end;
writeln('TFmth_execute->distribuidor.Free');
  distribuidor.Free;
writeln('TFmth_execute->fin.');
end;

begin

  CrearArchivosKeys;
  TFmth_execute;

end.
