FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Stack OverFlow al pasar parametro en el constructor de un Form
Buenos dias, y muchas gracias de antemano
estoy teniendo un problema cuando le paso un parámetro adicional a un form en el constructor, porque necesito dicho parametro para la funcionalidad propia que le voy a dar al form nuevo. Pero al crearlo, se embucla y al final me da un mensaje de desbordamiento de pila (Stack Overflow). Muchas gracias. Última edición por Mialom fecha: 06-02-2008 a las 16:00:09. |
#2
|
|||
|
|||
Hola...
Bienvenido al Club, te recomiendo le des un vistazo a la Guía de Estilo de los foros... Sobre tu problema... cual es el parámetro adicional que pasas? Podemos ver el fragmento de código que te produce el Stack Overflow? Saludos... |
#3
|
|||
|
|||
Buenas tardes de nuevo,
El código es muy sencillo: //------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner, int x) // <-- Aqui pasa al constructor de la clase base :TForm(Owner) // <-- Aqui entra y vuelve a mi constructor { ... } //------------------------------------------------------- Pasa de un constructor a otro hasta que se desborda la pila. Su definición en el cabecero es: __fastcall TForm1(TComponent* Owner, int x); Y la llamada desde el otro fomulario es: TForm *Form1 = new TForm(this, entero); Form1->ShowModal(); delete Form1; Muchas gracias, espero que esto explique mejor mi problema. Un saludo. |
#4
|
||||
|
||||
Creo que una forma sencilla de romper un bucle infinito es poner un punto de ruptura dentro de alguno de los métodos que se ejecutan como parte del bucle, examinar y recorrer la pila de llamadas durante 2 o 3 iteraciones.
Las causas típicas por las que ocurre este tipo de problema son:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
|||
|
|||
Hola...
No se bien como se llama un método heredado en C++ Builder, pero creo que ahí está tu problema... En Delphi se haría así:
Saludos... |
#6
|
|||
|
|||
Solución a medias
Buenos dias,
ya he encontrado una solución para pasar los parámetros al constructor del formulario, la cuestion es que el constructor se embucla hasta que se desborda la pila (Stack Overflow) debido a que el parámetro que le paso es de tipo Entero, he probado a pasarle parámetros de otro tipo de datos como AnsiString, String, TDateTime y Float y funciona perfectamente. De momento le pasaré el parametro como cadena de texto y ya dentro del formulario nuevo le haré un cast a entero, pero no he conseguido averiguar el porque de que no admita parámetros de valor entero. Muchas gracias por vuestra ayuda, y si averiguo el porque ya os lo contaré. Un saludo |
#7
|
|||
|
|||
Creo que en una ocasión hice algo así, pero en lugar de pasarle un int le pasaba un short... necesariamente debe ser int?
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Stack overflow al reabrir una tabla | jzginez | Conexión con bases de datos | 1 | 24-04-2007 16:52:53 |
Stack Overflow | agonzalez | Varios | 5 | 08-12-2006 22:26:46 |
Stack Overflow | Mariana | Varios | 14 | 30-10-2003 11:37:47 |
Pasar un parametro en la llamada a un form | apicito | OOP | 17 | 13-08-2003 12:30:45 |
|