Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-03-2005
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 196
Poder: 20
darkerbyte Va por buen camino
Error en FormCreate

Hola, espero que alguno de ustedes pueda darme una ayuda en esto.

Estoy haciendo una aplicaciòn que utiliza dos forms. el MainForm es el
form1. Cuando inicia la aplcicaciòn debo cargar ciertas configuraciones del programa desde un archivo, asì que programe el evento onformcreate para cargar un archivo y obtener los datos que necesito. si al cargar el archivo o al convertir los datos (de string a entero) ocurre un error entonces mando un mensaje indicando que el archivo de inicio no es valido, inmediatamente, trato de abrir el Form2 ( form2.showmodal() ) que es el form que configura y crea el archivo de inicio que necesito.

El problema es que cuando llamo a la funciòn Form2.showmodal(); desde el formcreate del form1, aunque lo compila bien, al ejecutarlo me manda un error de violaciòn de direcciòn de memoria. ¿de que manera puedo arregla esto? No debo trabajar con el programa hasta que hayan sido estabelcidas dichas configuraciones.

Espero haber explicado correctamente el problema.

Por su tiempo y atención, muchas gracias.
Responder Con Cita
  #2  
Antiguo 16-03-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por darkerbyte
El problema es que cuando llamo a la funciòn Form2.showmodal(); desde el formcreate del form1, aunque lo compila bien, al ejecutarlo me manda un error de violaciòn de direcciòn de memoria.
Para cuando haces Form2.ShowModal, Form2 ha sido creado????
Si utilizas autocreate y Form2 esta debajo de Form1 en la lista, no lo creo pues no se ejecutará la creación del Form2 hasta que termine el evento OnCreate del Form1.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 19-03-2005
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 196
Poder: 20
darkerbyte Va por buen camino
Thumbs up entiendo

Ah !!! tienes razon, el formcreate del form2 esta una linea abajo del formcreate del form1 en el codigo del proyecto. Al parecer lo que tengo que hacer es solo intercambiar esas lineas para que se ejecute primero el Form2.formcreate antes del Form1.formcreate.

Gracias por tu ayuda
Responder Con Cita
  #4  
Antiguo 19-03-2005
Avatar de Pablo Carlos
Pablo Carlos Pablo Carlos is offline
Miembro
 
Registrado: jun 2004
Ubicación: Mendoza - Argentina
Posts: 270
Poder: 20
Pablo Carlos Va por buen camino
Cita:
Empezado por darkerbyte
Ah !!! tienes razon, el formcreate del form2 esta una linea abajo del formcreate del form1 en el codigo del proyecto. Al parecer lo que tengo que hacer es solo intercambiar esas lineas para que se ejecute primero el Form2.formcreate antes del Form1.formcreate.
Hola... no creo que el 2 deba estar primero (me imagino si tienes dos form, por lógica el uno debe estar primero) ... deberías poner el siguiente codigo para crear el form 2...
Código Delphi [-]
form2 := Tform2.Create(Application) //Crear el form
try
 form2.ShowModal; //que lo muestre
finally
 form2.Free //que libere de memoria cuando lo cierres
end;

y si son mdi
Código Delphi [-]
form2.ShowModal  //... sin los parentésis.


Saludos Bye
__________________
Por qué todas las personas saben exactamente cómo debemos vivir nuestra vida, y nunca tienen idea de cómo deben vivir sus propias vidas.
Responder Con Cita
  #5  
Antiguo 22-03-2005
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 196
Poder: 20
darkerbyte Va por buen camino
Thumbs up Con razon no jalo

Pues si, mis estimados colegas, intenté lo que habia dicho antes y efectivamente ya no me marco el error de direccion de memoria pero despues de mostrarme el form2 y que lo cerraba, tambien se me cerraba la aplicación.
Gracias Pablo Carlos, me has dado la solución y ya el programa funciona como debe,
Responder Con Cita
  #6  
Antiguo 29-03-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por Pablo Carlos
Hola... no creo que el 2 deba estar primero (me imagino si tienes dos form, por lógica el uno debe estar primero) ... deberías poner el siguiente codigo para crear el form 2...
Que lo cree no quiere decir que lo muestre, lo puede crear y que no sea visible, de todos modos al estar como "AutoCreate" creará todos los forms, algo que me parece orroroso. Personalmente prefiero crear los forms según los necesite.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 12:04:27.


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
Copyright 1996-2007 Club Delphi