Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error #FFFFFFF ??? (https://www.clubdelphi.com/foros/showthread.php?t=5909)

pzala 10-12-2003 17:56:59

Error #FFFFFFF ???
 
Alguien sabe que significa este error, que es lo que no esta funcionando bien, cuando ejecuto el programa y quiero ir a otro formulario me sale eso, algo como: que en el proyecto1.exe error #FFFFFFF..


ojala puedan ayudarme, le faltara alguna libreria???

roman 10-12-2003 18:06:30

Tendrás que ser más explícito. De la infinidad de errores que pueden presentarse en un programa y de la información que proporcionas es realmente difícil saber a qué se debe. Te recomiendo que por lo menos escribas aquí el texto completo del error y si éste menciona una direccion ("error.. at address ...") usa la opción Search | Find Error para localizar la línea de código endonde se produce el error.

// Saludos

pzala 10-12-2003 18:14:50

Vale asi dice:


access violation at adrress 004B5A2A in module 'proyect1.exe' . read of adrress FFFFFFF.

luego me aparece el formulario lo mas bien, pero no me hace nada de conexiones con la base de datos.

roman 10-12-2003 18:30:15

Estos errores normalmente se dan por tratar de referenciar un objetos o punteros nil o también por acceder a elementos de arreglos que no existen.

Corre el programa desde el IDE asegurándote de tener activa la opción

Tools|Debugger|Language Exceptions|Stop on Delphi exceptions

para que sepas en qué linea se produce el error y verifica que los objetos y componentes que se usen ahí realmente estén creados y no sean nil.

// Saludos

delphi.com.ar 10-12-2003 19:48:29

Una curiosidad: Si una variable de objeto es nil y utilizamos algunos método o propiedades de este objeto, sobre todo lo referente a mensajes de Windows, no se produce un access violation, en el caso que quede apuntado a una dirección inválida si sucede.
Código:

Var
  MyEdit : TEdit;
begin
  MyEdit := Nil;
  ShowMessage( MyEdit.Text );

He preguntado sobre esto a Borland, y un tercero me respondió:
Cita:

It's a feature!
Such mistakes results normaly in AV and in this case in mal function.
With pascal we(!) have to write code that prevents us for this mistakes.

MyEdit.Text results in:

function TControl.Perform(Msg: Cardinal; WParam, LParam: Longint): Longint;
var
Message: TMessage;
begin
Message.Msg := Msg;
Message.WParam := WParam;
Message.LParam := LParam;
Message.Result := 0;
if Self <> nil then WindowProc(Message);
Result := Message.Result;
end;

Sorry, but it's not so nice that you fill QC with such senceless information.
Probably start a diskussion in borland.public.delphi.language.objectpascal
for testing every access to any TObject for a valid address. See what the community will say about this.
Saludos!


La franja horaria es GMT +2. Ahora son las 02:18:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi