[Lazarus-es] Error en funci?n while

Ismael L. Donis Garc?a ismael en citricos.co.cu
Lun Nov 23 23:59:07 CET 2009


Pues no se que sería, desinstalé, reinstalé y revisé lo que me dijiste del 
compilador, y se solucionó todo. Lo que si al final cambié de la versión:

Lazarus-0.9.28.3-22354-fpc-2.2.4-20091031-win32.exe
a
Lazarus-0.9.29-22700-fpc-2.3.1-20091122-win32.exe

En fin no supe como se solucionó el problema la función original quedó:

function Tdtmmp.IniExistHead(fileini: string; head: string): boolean;
  //Revisa si existe una cabecera en el archivo ini especificado y si existe 
devuelve true
  //El argumento fileini debe incluir la ruta completa del archivo
  var
    bolhenc: boolean;
    strlinea, strhead: string;
    oldfileini: TextFile;
begin
  bolhenc := false;
  strhead := HeadIniFormated(head);
  AssignFile (oldfileini, fileini);
  Reset(oldfileini); // abre un archivo existente
  while not eof(oldfileini) do
    begin
      readln(oldfileini, strlinea);
      strlinea := trim(strlinea);
      if strlinea <> '' then
        if leftstr(strlinea, 1) <> ';' then
          if strlinea = strhead then
            begin
              bolhenc := true;
              break;
            end;
    end;
  closefile(oldfileini);
  result := bolhenc;
end;

Perdonen las molestias causadas.
=========
¦¦ ISMAEL ¦¦
=========
----- Mensaje original ----- 
De: "JoshyFun" <joshyfun en gmail.com>
Para: "Spanish version of Lazarus List" 
<lazarus-es en lists.lazarus.freepascal.org>
Enviado: lunes, 23 de noviembre de 2009 12:48
Asunto: Re: [Lazarus-es] Error en funci?n while


Hello Ismael,

Monday, November 23, 2009, 7:51:27 PM, you wrote:

ILDGa> No sabía de la existencia de ese evento ya que no aparece en la 
ventana de
ILDGa> eventos, pero de todas formas da el error.

El optimizador de Pascal te está jugando una mala pasada. Abre las
preferencias del compilador y en optimización ponle "Level 0", ya que
"Level 1" hace pocas optimizaciones, pero alguna si (elimina alguna
lineas de código a veces).

No estoy seguro de que este sea el problema, mi manejo de "ficheros
pascal" es más bien nulo (no los uso desde hace más de 15 años).

---------------------
[...]
  AssignFile (oldfileini, fileini);
  Append (oldfileini); // abre un archivo existente

  APPEND ??? Será Reset no ?

  while (not bolhenc) and (not eof(oldfileini)) do
    begin
      readln(oldfileini, strlinea);

  READ ??????
----------------------


-- 
Best regards,
 JoshyFun


_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es






More information about the Lazarus-es mailing list