Ver Mensaje Individual
  #7  
Antiguo 30-11-2010
blaiselaborde blaiselaborde is offline
Miembro
 
Registrado: nov 2006
Ubicación: Reino Unido
Posts: 40
Reputación: 0
blaiselaborde Va por buen camino
Gracias a todos.

He podido solucionar el problema como lo indiqué: importando el Procedimiento a mi aplicación y ampliando el BuffSize de 16K a 64K.

El código nuevo ha quedado así:

Código Delphi [-]
Procedure TApliF.pINISectLoadList(aIniFileName, aSectionName: PChar;
                                          Var aList       : TStringList);
Const cBufSize = 65536;
Var bBuffer,
      P      : PChar;
Begin
  GetMem(bBuffer, cBufSize);
  Try
    aList.BeginUpdate;
    Try
      aList.Clear;
      If GetPrivateProfileString(aSectionName, Nil, Nil, bBuffer, cBufSize, aIniFileName) <> 0
      then
        Begin
          P := bBuffer;
          While P^ <> #0 do
            Begin
              aList.Add(P);
              Inc(P, StrLen(P) + 1);
            end;
        end;
    Finally
      aList.EndUpdate;
    end; // Try
  Finally
    FreeMem(bBuffer, cBufSize);
  end; // Try
end; // Proc

Un saludo y hasta la próxima.

Última edición por Casimiro Notevi fecha: 30-11-2010 a las 17:59:53.
Responder Con Cita