Hola amigos de Delphi Access:
Tengo un problema que no logro resolver.
Este es el cuadro:
Tengo una aplicacion VCL application/Stand Alone Server de UniGui en RAD Studio XE (trabajo en c++ builder). En el UniForm1 (main.cpp) coloqué componentes y todo el rollo, lo corrí y perfecto tanto en el explorador web como en el escritorio de windows. Cree un nuevo form: File->New->Other->UniGui for c++ builder-> form.
Ahora para poder llamar al segundo form (que se llama UniForm2 por default) abro File->Use Unit y selecciono el indicado. En un boton (unigui por supuesto) coloco la instruccion:
[cpp]UniForm2->Show();[/cpp]
Sin embargo aquí ya hay algo extraño; primero cuando coloco el puntero "->" que es equivalente en Delphi al punto "." no me muestra las opciones del form... y cuando lo corro me dice:
[cpp][BCC32 Error] Main.cpp(43): E2288 Pointer to structure required on left side of -> or ->*
Full parser context
Main.cpp(39): parsing: void _fastcall TMainForm::UniButton1Click(TObject *)[/cpp]
Ayúdenme por favor
Use Unit no funciona
Comenzado por
Diego827
, nov 04 2012 02:25
5 respuestas en este tema
#1
Escrito 04 noviembre 2012 - 02:25
#2
Escrito 04 noviembre 2012 - 05:51
Es exactamente lo mismo que:
http://www.delphiacc...64987/#msg64987
Pero no logro hacerlo porque no entiendo la solución que el provee.
http://www.delphiacc...64987/#msg64987
Pero no logro hacerlo porque no entiendo la solución que el provee.
#3
Escrito 04 noviembre 2012 - 06:09
¿Solo tienes ese error? ¿No te dice que el tipo de UniForm2 es desconocido?
El error que mencionas quiere decir que UniForm2 no es un puntero y que -> ó ->* requiere a su izquierda un puntero.
Asegurate de que tu Form se llama UniForm2 ¿o es el nombre de la Unit?
Asegurate de que al comienzo de tu archivo Unit1 (si así se llama) tienes:
[cpp]
# include "unit2.h" //si se llama así
[/cpp]
Saludos.
El error que mencionas quiere decir que UniForm2 no es un puntero y que -> ó ->* requiere a su izquierda un puntero.
Asegurate de que tu Form se llama UniForm2 ¿o es el nombre de la Unit?
Asegurate de que al comienzo de tu archivo Unit1 (si así se llama) tienes:
[cpp]
# include "unit2.h" //si se llama así
[/cpp]
Saludos.
#4
Escrito 04 noviembre 2012 - 06:58
Hola estimado escafandra:
Si, eso ya lo hice. Pero no funciona. No se como realizar la función Show() en c++ builder con UNIGUI, ya que ni siquiera me reconoce el form.
Sin UNIGUI es normal, pero con UNIGUI no reconoce los demás form, aún incluyéndolos. Y así como dice el comentario 1, hay que agregar código pero es algo más que el #include.
Estoy algo decepcionado de esas librerías
Si, eso ya lo hice. Pero no funciona. No se como realizar la función Show() en c++ builder con UNIGUI, ya que ni siquiera me reconoce el form.
Sin UNIGUI es normal, pero con UNIGUI no reconoce los demás form, aún incluyéndolos. Y así como dice el comentario 1, hay que agregar código pero es algo más que el #include.
Estoy algo decepcionado de esas librerías
#5
Escrito 04 noviembre 2012 - 07:00
Por cierto y como comentario: probé en Delphi y voila! funcio OK
Adjunto imagen:
Supongamos que estamos en la form1, si colocamos esto: "form1->", el IDE nos muestra un listado de propiedades y además de funciones. Pero en este caso no lo hace aún colocando el nombre propio del form (ver imagen).
Definitivo debe ser un error en la versión de c++ builder de unigui.
Si alguien puede ayudarme le voy a agradecer mucho. Adjunto el código fuente de las pruebas.
Para c++ builder hay que DESACTIVAR las opciones:
Dynamic RTL Linker
Build with runtime packages
Adjunto imagen:
Supongamos que estamos en la form1, si colocamos esto: "form1->", el IDE nos muestra un listado de propiedades y además de funciones. Pero en este caso no lo hace aún colocando el nombre propio del form (ver imagen).
Definitivo debe ser un error en la versión de c++ builder de unigui.
Si alguien puede ayudarme le voy a agradecer mucho. Adjunto el código fuente de las pruebas.
Para c++ builder hay que DESACTIVAR las opciones:
Dynamic RTL Linker
Build with runtime packages
Archivos adjuntos
#6
Escrito 05 noviembre 2012 - 02:29
La versión que uso de Builder no es compatible con UNIGUI, así que no puedo probar , de todas formas los fuentes no aparecen subidos .
Prueba de esta manera por si el formulario no es autocreado:
[cpp]
TUniForm2 *UniForm2 = new UniForm2(this);
UniForm2->Show();
delete UniForm2;
[/cpp]
Saludos.
Prueba de esta manera por si el formulario no es autocreado:
[cpp]
TUniForm2 *UniForm2 = new UniForm2(this);
UniForm2->Show();
delete UniForm2;
[/cpp]
Saludos.