Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿por qué no puedo cerrar el formulario? (https://www.clubdelphi.com/foros/showthread.php?t=19402)

alfredosg19 13-03-2005 16:41:03

¿por qué no puedo cerrar el formulario?
 
Hola a todos, tengo dos formularios uno es el que yo quiero que sea el principal y otro que es para validar contraseñas. Hasta aquí bien, pero no puedo cerrar el de usuario porque si lo hago no me deja abrir el principal, no sé a que se debe (puede ser una tonteria) ni como arreglarlo. He buscado en el foro este tema pero no he encontrado nada. Gracias.

alfredosg19 13-03-2005 17:08:35

Fallo en el Formulario principal
 
Además después de poner el formulario para validar la contraseña, el formulario principal me da error: Acces Violation at address ...in module.... Alguin sabe a que se podría deber. Muchas gracias por vuestra ayuda.

vtdeleon 13-03-2005 22:11:41

Saludos,

pon el codigo que utilizas para llamar el formulario Usuario y el codigo del View Sources(opcion del menu project.

alfredosg19 14-03-2005 08:58:59

NO entiendo que pasa.
 
Hola, este es el código del dpr, no veo que haya ningún fallo y además cuando me señala los fallos los pone en lugares donde le doy valores a los Captions o botones. Si alguien me pudiera ayudar o dar alguna pista se lo agradecería. Una vez más gracias.
Código:

program PRGCinema;
 
 uses
  Forms,
  UFRMSala in 'UFRMSala.pas' {FrmCinema},
  UFRMSortir in 'UFRMSortir.pas' {frmSortir},
  UFRMCanvi in 'UFRMCanvi.pas' {frmCanvi},
  UFRMNoespot in 'UFRMNoespot.pas' {FrmNoespotsortir},
  Unit1 in 'Unit1.pas' {FrmUsuari},
  UFRMArquieg in 'UFRMArquieg.pas' {FrmArqueig};
 
 {$R *.res}
 
 begin
  Application.Initialize;
  Application.CreateForm(TFrmCinema, FrmCinema);
  Application.Run;
 end.


rafita 14-03-2005 10:47:05

Hola Alfredosg19,

creo que el código del .dpr es poco para ayudarte, pero por si a caso te vale, te envío cómo lo hago yo:

En las opciones del proyecto pongo el formulario que valida las contraseñas como principal y de creación automática (Main y Auto-Create), y el formulario que va a ser el menú de la aplicación y enlazar con los otros formularios lo pongo como disponible (Avaible) y lo creo y activo como modal (ShowModal) después de validar la contraseña. El primero queda activo hasta que finalizo la aplicación, pero no se vé ni está accesible.

Leyendo los mensajes de este foro encontré una forma mucho mejor que la mia.
http://www.clubdelphi.com/foros/show...hlight=validar
Presta atención a las dos respuestas del amigo Marcos.

Un saludo

alfredosg19 14-03-2005 10:59:30

Gracias, ya entiendo.
 
Hola Rafita, una vez más gracias por tu ayuda, y disculpa que te vuelva a hacer otra consulta, ¿sabes a que se puede deber el fallo que detallo en el segundo mensaje de este hilo?, es que ya el programa de repente da muchos fallos por no poder leer la memoria, ¿como se podría arreglar eso?. ;) Un millón de gracias.

Lepe 14-03-2005 12:31:08

El access violation puede ser por muchos motivos; normalmente por acceder a un elemento que se ha liberado de la memoria.

Para eso no hay cura, tienes que ir paso a paso con F7/ F8 y ver donde da el fallo. Comprender por qué da ese tipo de fallos suele ser dificil, ya que creemos que estamos haciendo bien las cosas, sin embargo no es así, y por eso nos da ese simpático mensaje.

Saludos

alfredosg19 14-03-2005 13:02:15

Gracias Lepe.
 
Ya encontré el fallo a la excepción, me di cuenta que fallaba siempre que iba a leer a otro formulario, y fui a Project, Options el problema era que no creaba los formularios que necesitaba desde el principio. Por tanto el programa iba a leer a una posición de memoria en la que no había nada, así que logicamente daba error. Llevo dos días pensando en que podía fallar, y pensaba que era tan difícil que en lo menos en que pensé era que fuera eso. Pues eso Lepe, gracias por hacerme caer.

Moraleja: a problemas difíciles soluciones fáciles.

rafita 14-03-2005 14:10:03

Hola Alfredosg19,

mi costumbre es poner el formulario principal y los informes como Auto-create, y el resto los pongo como disponibles (Avaible) y los creo cuando los necesito.
De esta forma me evito muchos problemas, aunque también limito bastante a los usuarios:
* todos mis formularios son modales,
* no les dejo redimensionarlos,
* ....
Nos vemos.;)
Pd. Moraleja muy acertada.


La franja horaria es GMT +2. Ahora son las 12:45:58.

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