Can't create dialog Box

Post Reply
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Can't create dialog Box

Post by Biel EA6DD »

Al ejecutar mas de una vez la opción del menu, me aparece el mensaje "Can't create dialog Box".
El programa sigue la siguiente estructura, abro una ventana, desde esta ventana on init abre un dialogo con opciones de menu(botones), al pulsar el boton ventas pido la fecha mediante la funcion MsGet, y despues abro otra ventana para visualizar el resultado. La primera vez todo ok, el resto no puede abrir el dialogo de MsgGet.

Code: Select all

# INCLUDE "FwCE.ch"
STATIC oWnd
FUNCTION MAIN()
  //--------DEFINICION DE VARIABLES-------
    LOCAL nOpcSel, oBmp
    PRIVATE oWnd
    DEFINE WINDOW oWnd TITLE 'Crmbl'
    ACTIVATE WINDOW oWnd ;
        ON INIT MnuPri()
RETURN NIL
//------------------
FUNCTION MnuPri()
//------------------
   LOCAL oDlg,oBtnVta,oBtnEnd,dFecha:=Date()
   DEFINE DIALOG oDlg RESOURCE "MNUPRI" OF oWnd
   REDEFINE BUTTON oBtnVta ID 4001 OF oDlg ACTION (IF(MsgGet('Fecha','Fecha',@dFecha),Algo(),nil))
   REDEFINE BUTTON oBtnEnd ID 4006 OF oDlg ACTION (oWnd:END())
   ACTIVATE DIALOG oDlg CENTERED
RETURN NIL
//---------------------
STATIC FUNCTION Algo()
//---------------------
    LOCAL oWnd,oBtn
    DEFINE WINDOW oWnd TITLE "Algo"
    oBtn:=tButton():New(14,01,'&oK',oWnd,{||oWnd:End()},50,20)
    ACTIVATE WINDOW oWnd
RETURN NIL
El fichero RC tal cual sigue.

Code: Select all

#include <windows.h>
#include <commctrl.h>

LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US

MNUPRI DIALOG DISCARDABLE 36, 32, 138, 180
STYLE WS_POPUP|DS_MODALFRAME|WS_SYSMENU|WS_VISIBLE
FONT 8, "System"
BEGIN
  CONTROL "V E N T A S", 4001, "Button", WS_TABSTOP, 12, 28, 48, 16
  CONTROL "S A L I R", 4006, "Button", WS_TABSTOP, 72, 80, 48, 16
 15
END
Gracias anticipadas.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Carles
Posts: 937
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Contact:

Post by Carles »

Biel,

Coge el fichero MsgGet.prg y cambia la linea

Code: Select all

DEFINE DIALOG oDlg FROM 10, 20 TO 18, 59.5 TITLE cTitle
por

Code: Select all

DEFINE DIALOG oDlg FROM 10, 20 TO 18, 59.5 TITLE cTitle OF GetWndDefault()
y prueba. Si no va, prueba cambiar GetWndDefault() por WndMain()

Saludos.
C.
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post by Biel EA6DD »

Gracias Carles,
he añadido msgget.prg al proyecto, y antes de hacer el cambio que sujieres, he compilado.
Sin cambiar nada funciona bien, bueno relativamente, porque los tamaños del dialogo no caben en la pantalla del PPC, parece como si fueran los fuentes de la version para PC.
Visto que funciona bien, he ajustado los tamaños de dialogo y posiciones de los controles y todo a quedado funcional.
Last edited by Biel EA6DD on Wed Mar 29, 2006 8:58 pm, edited 1 time in total.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
ibersoft
Posts: 8
Joined: Mon Mar 20, 2006 6:19 pm

Post by ibersoft »

Perdon por la intromision, pero cuando dices

"he añadido msgget.prg al proyecto"

¿ a que te refieres exactamente ?

Una saludo y gracias.
Jose A. Blasco
Javier Bazan
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Biel,

MsgGet() ya está incluido en FWPPC (source\function\fwppc.prg). Estás usando el build más reciente de FWPPC ?

Jose, Javier,

En principio no haría falta añadirlo, ya que FWPPC lo proporciona.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
ibersoft
Posts: 8
Joined: Mon Mar 20, 2006 6:19 pm

Post by ibersoft »

Si pero, cuando dicen lo del "proyecto", es que hay alguna forma de incluir varios "prg" en un mismo exe , o se refieren a incluir el codigo en el archivo ".rc" ?
Jose A. Blasco
Javier Bazan
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Jose, Javier,

Sí, claro, puedes usar tantos PRGs como necesites. samples\buildce.bat sólo usa uno, pero para más de uno puedes usar por el make para Microsoft que se encuentra en makes\fwcemake.zip
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post by Biel EA6DD »

Hola Antonio,
si ya se que esta incluido, pero me da el problema que cito en el primer mensaje de este post.
Tras la sujerencia de Carles, he añadido "source\function\fwppc.prg" para realizar _ en el fuente. Pero no ha hecho falta, pues con la version source\function\fwppc.prg me funciona bien, solo he ajustado tamaño del dialogo.
Estoy utilizando la version de marzo 06, no es la ultima pq veo q hoy has publicado una pero es la penultima.

Bueno Jose, Javier, ya os ha contestado el master Antonio, ya sabes tantos prgs como quieras, cambiando el bat de compilacion usando make o alguna otra herramienta. Yo utilizo xMate, lei sobre él aqui en el foro y tras probar otras soluciones, es el que mejor me va, pero para gustos colores.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
Post Reply