Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 24-05-2012
jpgonzalez jpgonzalez is offline
Miembro
 
Registrado: feb 2010
Posts: 121
Poder: 17
jpgonzalez Va por buen camino
Cita:
Empezado por oscarac Ver Mensaje
has probado quitando el free?

y colocandolo despues de donde invocas a los formularios
Buenas oscarac, la verdad que siempre use la misma logica en D5 y nunca tuve problemas. De hecho, en DXE hay llamadas donde esta secuencia me funciona perfectamente y en otras llamadas tira el Access Violation.
De todas maneras, me parece que el free no esta liberando el Form... mas abajo pongo el codigo. Abrazo y muchas gracias!!!



Cita:
Empezado por Caminante Ver Mensaje
Me parece que despues de hacer free al formulario debes asignar nil a la variable.

Espero te sirva

Saludos
Buenas Caminante, al igual que le dije a oscarac, mepa que algo con el tema del free y el nil hay... abajo pongo el codigo que le puse para probar.
Abrazo y muchasw gracias!!!



Cita:
Empezado por ecfisa Ver Mensaje
Hola jpgonzalez.

¿ Podrías poner el código de los eventos OnClose de los tres forms ?

Es decir de: FrmMain, FrmABMUsuarios y FrmABMPerfilDeUsuario y si en alguno utilizas el evento OnDestroy también.

Saludos.
Buenas ecfisa, nunca programe el evento onClose de los Forms... como dije anteriormente en D5 yo usaba esa secuencia de comandos y funcionaba perfectamente.
Habra diferencias en el manejo de los Forms o de memoria entre D5 y DXE???... ah, cabe aclarar que el D5 lo usaba desde el entorno de Borland y el DXE desde Embarcadero, capaz que eso tambien tenga que ver. Abrazo y muchas gracias!!!

Bueno, las soluciones propuestas me llevaron a probar con el siguiente codigo:
Código Delphi [-]
   procedure TFrmMain.actABMUsuariosExecute(Sender: TObject);
   begin
      if (FrmABMUsuarios = nil) then begin
         FrmABMUsuarios:= TFrmABMUsuarios.Create(self);
      end;
      FrmABMUsuarios.ShowModal;
      FrmABMUsuarios.Free;
      if(FrmABMUsuarios = nil) then begin
        ShowMessage('Se libero FrmABMUsuarios');
      end;
   end;

y me di cuenta de algunas cosas:
1- En el segundo click al Btn que abre FrmABMUsuarios, no entra al "if (FrmABMUsuarios = nil)"
2- Nunca entra en el "if(FrmABMUsuarios = nil)"

Supongo entonces que el form debe quedar en memoria, o algo por el estilo...
De todas maneras sigo sin entender el motivo por el cual me tira el "Acces Violation" cuando quiero abrir otro Form diferente, es decir, si luego de abrir el FrmABMUsuarios y cerrarlo, quiero abrir FrmABMPerfilDeUsuario.

Nuevamente muchas gracias a todos, sigo probando a ver que pasa... Abrazo!!!!
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Acces Violation at address... franciscoca Varios 3 26-12-2010 01:59:28
acces violation en preview hecospina Impresión 2 03-12-2008 20:18:21
acces violation at adress en quickreports eduardo360 Impresión 1 13-02-2008 01:54:49
acces violation con TSimpleDataSet D7 fredo Varios 0 03-05-2006 20:21:08
Acces Violation eduarcol Impresión 10 23-01-2004 19:03:18


La franja horaria es GMT +2. Ahora son las 15:54:56.


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