![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
si , si jajaj ya se que es MDI pero no se pk siempre digo midi , sera por lo del midi pero bueno jejejej
me decidi a usar Mdi porque asi cuando abro un child no permito que se haga nada mas que eso al no compartir el mainmenu del formulario principal entonces debe de hacer eso solamente , no se debe poder abrir nada mas hasta terminar con el fomulario clientes por ejemplo me he dado cuenta que el problema radica en que yo creo el child desde el formulario principal TfrmChild *child; child = new TfrChild(Application); child->Show(); como dije el child tiene dos frames (tiene mas pero bueno)insertados frameClientes y frame facturas si llamo al frameCliente desde el child frameCliente1->txtCliente->Text= "loquesea"; funciona bien el problema es cuando quiero llamar desde un frame a otro frame o incluso al child desde un frame , frmChild->frameCliente1->txtCliente->Text = "loquesea"; ahi es cuando da el error , pk se ve que el child esta creado desde el principal como un puntero , pero no desde el frame , que no lo reconoce si creo el formulario desde el frame por ejemplo(ahi esta lo que seguramente desconozco en realidad) TfrmChild *child; child = new TfrChild(this); child->frameCliente1->txtCliente->Text = "loquesea"; asi no da fallo pero me abre otro child que es justamente lo que no quiero si puediera crear los childs igual que los formularios normales y decirle show() cuando quisiera no tendria ese problema pk siempre estarian en memoria pero si tengo el child siempre en memoria tambien esta siemrpre visible lo cual tampoco me interesa. espero haberme explicado bien |
|
#2
|
||||
|
||||
|
Ahora ha quedado claro como el agua.
Para crear la ventana, estas usando una variable temporal llamada child, pero después quieres hacer referencia a la ventana con frmChild que no ha sido inicializada, y además es la variable global que Borland sugiere. Solución, usar siempre la variable global frmChild para hacer referencia a la ventana Child. ¿como saber si está creada o no? En este mensaje lo dice. PD: No tienes que usar .Show para mostrar un mdiChild, estos se muestran automáticamente después de crearlos. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#3
|
|||
|
|||
|
Mira que al final era facil y yo rompiendome la cabeza
en cbuilder no puedo hacer frmChild = TfrmChild->Create(nil); el metodo create no existe pero eso si , me has dado la solucion frmChild = newTfrmChild(this); entonces si que le puedo llamar desde el frame frmChild->frmFrame21->txtLoquesea->Text = "loquesea"; entonces si que funciona porque como dices esta creado con la variable global Muchas gracias , ahora si que funciona , mira que me he roto la cabeza con esto Muchas gracias lepe , |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Problema al heredar frames | choty | Varios | 5 | 21-06-2006 17:03:47 |
| Frames | Caro | Varios | 4 | 17-06-2005 16:55:01 |
| Uso de Frames | jdangosto | OOP | 7 | 20-01-2005 00:15:03 |
| Frames | pepelu1975 | OOP | 2 | 21-05-2004 17:32:01 |
| Frames | pepelu1975 | Varios | 2 | 17-02-2004 18:00:30 |
|