 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Rafael Ramírez Cdt

Registrado: 29 Jun 2004Mensajes: 9Ubicación: Querétaro, México
|
Publicado: Mar 29 Jun, 2004 4:58 am Asunto: Tengo un problema en C++ Builder 6 |
|
|
Que tal, soy un novato en la programación en Builder.
Cuando quiero mostrar un form (form->Show() o ShowModal()), que está en la parte de "Aviable forms" del control de proyecto (Ctrl+Shift+F11), desde otro formulario, ya sea oprimiendo un botón o con cualquier otro evento, me marca la siguiente excepción:
"Project 'Project1.exe raised exception' class EAccesViolation with message 'Acces Violation at adress' 400EE72E in module 'VCL60.BPL Read of adress 'FFFFFFFF'. Process stopped'";
algo similar pasa cuando quiero mostrar un Quick Report (QR->Preview())
espero me puedan ayudar, y bueno, le hago caso a _Leo que dice que preguntas en el foro, no personalmente.
de antemano gracias |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Mar 29 Jun, 2004 5:52 am Asunto: |
|
|
Saludos !!!
Tu problema es que no tienes creada la forma, como no la tienes en la parte de AutoCreate Forms, no se crea y por lo tanto tienes que crearla tu.... Intenta algo asi:
| Código: |
Form2 = new TForm2(this);
Form2->Show();
|
_________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mar 29 Jun, 2004 6:39 am Asunto: |
|
|
Exacto.. Solo para Completar
dentro del Form que quieres jalar el nuevo Form.. debes incluir el archivo de cabecera
| Código: | #include <vcl.h>
#pragma hdrstop
#include "Project2.h" // Form Principal
#include "Unit2.h" // donde esta el form que quieres crear
#include "Unit3.h" // otro form para llamarlo desde el Principal
|
posteriormente en una llamada, ya sea desde un Menu o desde un Boton. puedes poner el siguiente codigo...
esto es una llamda a un al Form2 desde el Form3, te comento que el Form2, esta declarado como Modal (caja de dialogo) y por lo tanto debes verificar la salida del mismo.. utilizando
la palabra
| Código: | Action = mrOk // para salir como si fuera el boton OK
Action = mrCancel // Cierre del form, como si fuera Cancel |
Dicho esto te pongo el codigo para llamar al Form2, desde el Form3
| Código: | void __fastcall TForm3::Button1Click(TObject *Sender)
{
TForm2 *V1=new TForm2(this);
switch(V1->ShowModal()){};
delete V1;
} |
Ahora para llamar al Form3, desde El Form1, puedes hacerlo de la siguiente manera, el Form1, tiene la propiedad FormStyle a MDIForm
y el Form3 tiene la propiead MDIChild
y desde un boton llamado Ventana1
| Código: | void __fastcall TForm1::Ventana1Click(TObject *Sender)
{
int hija=0;
bool existe=false;
while(hija<this->MDIChildCount){
if(this->MDIChildren[hija]->Name=="V1"){
this->MDIChildren[hija]->WindowState=wsNormal;
this->MDIChildren[hija]->BringToFront();
existe=true;
break;
}
hija++;
}
if(!existe){
TForm3 *V1=new TForm3(this);
V1->Name="V1";
V1->Show();
}
} |
Realizo esta manera, para detectar el no habrir 2 veces el mismo form3.
Espero que te sirva ... yo empece peor.. con eso te digo todo...
Saludos _________________
 |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|