PDA

Ver la Versión Completa : Alguien sabe qué significa este error???


Chalo78
09-02-2006, 19:53:45
Debugger Exception Notification.
Project Text.exe raised exception class EAccessViolation with message 'Accessviolation at address 0044DABC in module 'text.exe'. Read of address 00000000'. Process stopped. Use Step or Run to continue.
Estoy tratando de leer(en tiempo de ejecución) desde un archivo que genera una serie de lineas con variados caracteres separados por TAB's y comas, para rescatar solo el valor que me interesa y llevarlo a un TLabel, pero luego de compilar y ejecutar el programa, me arroja ese error que les indico arriba. Soy sumamente nuevo en esto de Delphi, por lo que solicito humildemente la ayuda de alguien más entendido en el tema.
De Antemano muchas gracias por la orientación.

roman
09-02-2006, 20:02:30
Significa que estás tratando de acceder a un área de memoria que no te pertenece. Usualmente se debe a que intentas acceder a las propiedades de un objeto que no ha sido creado o ya se ha destruido, o a un puntero loco (nil), o al índice de un arreglo más allá de sus fronteras. Quizá esto último sea tu caso ya que mencionas que estás manejando líneas de un archivo. Por si eso fuera recuerda que en Delphi, normalmente todo empieza en cero y termina uno antes.

// Saludos

Chalo78
09-02-2006, 20:12:20
Primero que todo, gracias por la información. La duda que me queda, es que puede ser que el error se esté produciendo porque en realidad estoy tratando de leer un archivo que se está sobreescribiendo cada varias décimas de segundos. Se trata de un archivo de texto con extensión *.log que cada cierta cantidad de líneas me arroja un dato que debo rescatar después de una serie de caracteres conocidos, separados por TAB's y comas.
Podría ser que no puedo acceder a ese archivo porque está "modificándose" constantemente???
De ser así, qué me recomiendas para solucionar esto???, tengo serios problemas con la sintaxis.

roman
09-02-2006, 20:19:14
Pon algo de código, en la parte que te da problemas. De lo contrario será difícil ayudarte.

// Saludos

Chalo78
09-02-2006, 20:57:37
esta es la parte en donde "creo" estar mandando el texto que necesito al TLabel.

procedure TForm1.Label1Click(Sender: TObject);
begin
Archivo.LoadFromFile('c:\Archivo.log');
Label1.Caption := campos.CommaText;
end;
end.

vtdeleon
09-02-2006, 21:17:44
Saludos

Y cuando creas el el objecto Archivo???? Creo que eso lo que te hace falta.

Chalo78
09-02-2006, 21:23:25
Lo tengo definido antes...no puse todo el código....todo compila bien, pero luego, al ejecutarlo, el programa me arroja el error.
Gracias por responder.

dec
09-02-2006, 21:32:15
Hola,


Lo tengo definido antes...no puse todo el código...


Una cosa es definirlo/declararlo y otra cosa es crear el objeto. En las dos líneas de código tratas de acceder a dos objetos: el "Label1", que debe estar creado, puesto que estás utilizando incluso un evento de ese mismo objeto, y el objeto "Archivo", que se sabe exactamente de qué tipo es, pero, desde luego, no se ve que se cree por ningún sitio... asegúrate de que se crea antes de tratar de utilizarlo. Puede que ya lo estés haciendo, pero, me surge la duda al decir que lo tienes "definido", puesto que no es lo mismo eso que crearlo, propiamente. ;)