PDA

Ver la Versión Completa : Crear una instancia de una forma no autocreada


Gelmin
03-03-2004, 22:44:50
Que tal amigos como puedo hacer para crear una instancia de una ventana que es no autocreada...!
en Delphi lo hago asi declaro una variable del tipo form
por ejemplo:
var miforma:Tform1; //Form1 forma no autocreada
begin
miforma:Tform1.create(Self); //creo la forma
miforma.showmodal; //muestro la forma
miforma.release; //destruyo el objeto creado
end;
como se hace en C++Builder...!Gelmin Martinez(Nicaragua)

santana
03-03-2004, 23:29:41
Hola.

Primero tienes que declararte un puntero a un objeto de tipo Tform:
TForm * Form1; // Variable Global.

Se crea con el operador new:
Form1 = new Tform;

Se destruye con delete:
Delete Form1;

Saludos.

santana
03-03-2004, 23:44:14
Hola, de nuevo.

Hoy voy un poco mareada, así que disculpa, se me olvidaba decirte que puedes visualizar el form con los métodos show() y showmodal(), y que release() destruye el formulario y libera la memoria asociada. Espero que te haya servido y no te esté liando más.

Saludos.

jachguate
04-03-2004, 00:18:09
la querida amiga santana tiene serios problemas de memoria... :D y por si las dudas, olvido decirte que la forma de llamar a los métodos es con el operador member of->:

Form1->show();
Form1->showmodal();
Form1->release();

hasta luego.

;)

santana
04-03-2004, 00:20:46
Sorry!!! Estoy de exámenes y no soy humana......

Gracias por la corrección.
Besos.

jachguate
04-03-2004, 00:25:25
y no soy humana......

:rolleyes: ya decia yo que algo raro te miraba... :rolleyes:

:D :D :D

Gelmin
04-03-2004, 18:32:06
Ya entendi pero no se porque me envia este mensaje de error...!
[C++ Error] Unit1.cpp(22): E2285 Could not find a match for 'TForm2::TForm2()'

Lo hice asi:
TForm2 *miforma; //variable global

miforma = new TForm2;
miforma->ShowModal();
miforma->Release();
Cual sera el problema...! Gelmin Martinez (Nicaragua) :confused:

Gelmin
04-03-2004, 20:09:25
Ya entendi pero no se porque me envia este mensaje de error...!
[C++ Error] Unit1.cpp(22): E2285 Could not find a match for 'TForm2::TForm2()'

Lo hice asi:
TForm2 *miforma; //variable global

miforma = new TForm2;
miforma->ShowModal();
miforma->Release();
Cual sera el problema...! Gelmin Martinez (Nicaragua) :confused: