PDA

Ver la Versión Completa : Extraño error - Delphi 7


ArtPortEsp
04-07-2023, 20:51:24
Buen dia;

tengo un problema extraño...

en una aplicación desarrollada bajo el modelo SDI, quise probar cambiando el menú a MDIform y 1 forma a MDIChild

al abrir la forma me dio un mensaje de violación de acceso y regrese el menú a fsNormal así como también la forma

pero el problema de la violación de acceso persiste...

en el código la primera línea es la de la forma que me da el error
en la segunda linea hago el mismo procedimiento con otra forma SIN problema


if not Assigned(Fcappre) then Fcappre := TFcappre.Create(Application);


if not Assigned(Fcapend) then Fcapend := TFcapend.Create(Application);


Después de enviar el mensaje de Violacion de acceso, uno puede usar la forma sin problema.

Alguna Idea?

duilioisola
05-07-2023, 08:24:09
¿Habría que ver dónde da el error?

En la línea que muestras.
En una línea posterior, donde se utilice Fcappre.
Dentro de TFcappre.Create
Dentro de TFcappre.OnShow


Podría ser que Fcappre no se pusiera a nil cuando cierras la ventana y por eso todavía apunte a una dirección de memoria que ya no contiene el formulario.

Fcappre := TFcappre.Create()
...
Fcappre.Show
...

TFcappre.OnDestroy()
begin
inherited;
Fcappre := nil;
end;

Neftali [Germán.Estévez]
06-07-2023, 12:35:50
pero el problema de la violación de acceso persiste...
en el código la primera línea es la de la forma que me da el error


if not Assigned(Fcappre) then Fcappre := TFcappre.Create(Application);



Poca información para saber lo que está pasando.
El Create del formulario de la clase TFcappre, es lo que debe estar tando el error.

Deberías debuggar ese formulario línea a línea.

Empezando por si tienes algo definido en los eventos OnCreate/OnShow.