Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Ventana en TForm (https://www.clubdelphi.com/foros/showthread.php?t=63349)

Builder 6.0 C++ 10-02-2009 14:52:24

Ventana en TForm
 
Hola a todos, queria preguntar como podía crear una ventana nueva que pertenezca a un TForm. Ya que en esta ventana deseo ingresar informacion para procesar en dicho TForm. Muchas Gracias.

Ñuño Martínez 10-02-2009 15:55:43

[Edito] Pregunta, ¿Builder nombra los tipos de ventana igual que Delphi? Esto es, TForm1, TForm2, etc. Lo digo porque hay que tenerlo en cuenta.

Código:

#include "form2.h"

class TForm1: public TForm
{
/* Blablabla... */
  private:
    TForm2 *Ventana;
  public:
    TForm1 ();
    ~TForm1 ();
/* Blablabla... */
};

/* Blablabla... */

TForm1::TForm1 ()
{
  this->Ventana = new TForm2 ();
}

~TForm1::TForm1 ()
{
  if (this->Ventana) {
    delete this->Ventana;
    this->Ventana = NULL;
  }
}

Y nunca olvides destruir lo que creas.

Builder 6.0 C++ 11-02-2009 15:23:45

Ventana en TForm Builder 6.0 C++
 
Hola Ñulo! Gracias por responderme!. Si, los TForm, el buider los va haciendo como mencionaste. El problema es que empece a hacer el codigo que escribiste, pero envia error que no reconoce TForm2. He aqui lo que hice. Además, necisitaba esa ventana, para de la misma leer información, por ej , checkbox, editbox, etc. desde el mismo Unit, y no se como hacer. Es decir, tal vez haya otro elemento, además del TForm, que sea mas facil de implementar. Muchas Gracias


//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "Form2.h" //------------->Error aca!!!
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
public: // User declarations
TForm1();
TForm2 * Ventana;

__fastcall TForm1(TComponent* Owner);

};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

escafandra 11-02-2009 15:52:33

¿Has diseñado el formulario Form2? si no está diseñado o creado visualmente, no se ha creado Form2.h y por lo tanto...

Saludos.

PD cuando crees Form2 configuralo como no autocreado, ya que lo vas a crear desde Form1.

Ñuño Martínez 11-02-2009 16:02:53

Además de lo que dice escafandra, tal vez debas cambiar el include para que se adecúe al nombre del archivo de cabecera que se corresponda (¿Unit2.h? ¿Fom2.hpp?).


La franja horaria es GMT +2. Ahora son las 19:19:02.

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