PDA

Ver la Versión Completa : Error #FFFFFFF ???


pzala
10-12-2003, 17:56:59
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.
Var
MyEdit : TEdit;
begin
MyEdit := Nil;
ShowMessage( MyEdit.Text );

He preguntado sobre esto a Borland, y un tercero me respondió:
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!