Problema / Bug TWINDOW y controles

Problema / Bug TWINDOW y controles

Postby jmartial » Tue Mar 24, 2015 9:09 am

Hola,

Estoy teniendo un problema extrañísimo, sé como hacer una chapuza para que funcione, pero no sé de donde viene.

Si escribo esto:

DEFINE WINDOW oWnd MENU buildmenu()
ACTIVATE WINDOW oWnd MAXIMIZED

Y desde una opción del menú, llamo a:

DEFINE DIALOG oDlg RESOURCE "MIDLG"
ACTIVATE DIALOG oDlg

Da error:
Error FiveWin/3 Cannot create Dialog Box:
Resource: MIDLG

Pero si pongo al empezar:

DEFINE WINDOW oWnd MENU buildmenu()
@0,0 BITMAP oBmp2 FILE "" NOBORDER SIZE 0,0 OF oWnd
ACTIVATE WINDOW oWnd MAXIMIZED


Funciona perfectamente!!!!!

El problema es si no se ha definido un control en la ventana, es decir, hasta que no se crea un control en la ventana, no deben de inicializarse algunos valores internos de FWH que se necesitan para poder crear un diálogo desde recursos como el del ejemplo.

¿ Cómo lo soluciono Antonio ?
Un Saludo,
Joaquín Martínez
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Re: Problema / Bug TWINDOW y controles

Postby Antonio Linares » Wed Mar 25, 2015 7:11 am

Joaquín,

Puedes copiar aqui el código del recurso "MIDLG" ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problema / Bug TWINDOW y controles

Postby jmartial » Wed Mar 25, 2015 8:24 am

Buenos días Antonio,

He puesto "MIDLG", como ejemplo, me pasa con cualquier diálogo desde recursos.
Un Saludo,
Joaquín Martínez
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Re: Problema / Bug TWINDOW y controles

Postby Antonio Linares » Wed Mar 25, 2015 9:30 am

Usas algún control TBitmap desde tus diálogos ?

Que controles usas en los diálogos ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problema / Bug TWINDOW y controles

Postby jmartial » Wed Mar 25, 2015 10:34 am

Sí, me parece que en todas.

Lo de poner un control TBIPMAP con size 0, para evitar el problema provisionalmente, ha sido por azar, podría haber usado un TSAY por ejemplo.
Un Saludo,
Joaquín Martínez
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Re: Problema / Bug TWINDOW y controles

Postby Antonio Linares » Wed Mar 25, 2015 2:19 pm

Si cambias el bitmap por el say ocurre igual ?

Funciona bien ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problema / Bug TWINDOW y controles

Postby jmartial » Wed Mar 25, 2015 4:59 pm

Antonio Increíble,

Con el TSAY sigue fallando, sólo funciona si defino un TBITMAP. ¿ ?

Es decir, ese es el control que no está "CREADO o Registrado" internamente, ¿Por qué ocurre? ¿Cómo evitarlo?
Un Saludo,
Joaquín Martínez
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Re: Problema / Bug TWINDOW y controles

Postby Antonio Linares » Wed Mar 25, 2015 5:05 pm

todas las cajas de diálogo fallan ?

Deberían fallar aquellas que tengan un control TBitmap y que no esté redefinido
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problema / Bug TWINDOW y controles

Postby jmartial » Wed Mar 25, 2015 5:16 pm

Cierto,

Estoy casi seguro que sólo son las que llevan un TBitmap. Son muchos diálogos y no he podido probarlos todos.
Un Saludo,
Joaquín Martínez
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Al salir NO CIERRA 3 Dialogos NOWAIT de una Ventana

Postby gautxori » Thu Mar 31, 2016 6:17 pm

Después de mucho tiempo con una APP con FW20d de 16 bits y WXP, estamos cambiando la APP a 32 Bits FWH 16.03
Entorno Inicial
WXP
FW20d 16 Bits
DLL con Resource WorkShop de Borland

Entorno Final
Windows 10 63
FWH 16.03 32 Bits
DLL migrada a RC y pasada a]DLL 32 bits con la utilidad \fwh\dll\rc2dll32.bat

Arranco la APP, después de unos cambios cosméticos de unos recursos borland "borbtn" pasados a BTNBMP arranca
Comienzo probando el mantenimiento mas sencillo, no hay nada modificado, es el codigo y recursos original es
Tiene tres dialogos NOWAIT, y al dar al botón de Finalizar oBtnSal OF oDbarra, este se cierra pero permanecen el pantalla
los otros dos , que desaparecen si pulso ESCAPE,

Alguna Ideal de que puede esta pasando ¿?

Mi problema es que no se bien que está pasando, y toda la APP se basa en dialogos NOWAIT

Gracias anticipadas 8-)


---------------------------

Function AbmCon(oWnd)
ccp_codi:=space(3)
ccp_desc:=space(25)
ccp_sign:=space(1)
ccp_tipo:=space(1)


Set deleted on

USE "CONCEP" ALIAS Con SHARED NEW
If !NetErr()
SET INDEX TO "conind01"
Else
Return NIL
EndIf

DEFINE ICON oIconAbm RESOURCE "WorkAreas"
DEFINE Window oWndCon OF oWnd From 0,0 to MaxRow(),MaxCol();
ICON oIconAbm;
COLOR "N/W+";
TITLE OemToAnsi("Fichero De Conceptos");
BORDER NONE NOSYSMENU NOMINIMIZE NOMAXIMIZE
SET MESSAGE OF oWndCon TO "" KEYBOARD DATE CENTERED
Barra() // Dialog 1
Codigo() // Dialog 2
Datos() // Dialog 3
oDDAbmCon:Disable()
oWndCon:SetFocus()
oBtnNew:SetFocus()
ACTIVATE Window oWndCon MAXIMIZED;
ON INIT (oWnd:Disable());
VALID(DbCloseArea("Con"),oWnd:Enable())
Return nil


Static Function Barra()
DEFINE DIALOG oDBarra OF oWndCon RESOURCE "ABM_CONCE_BARRA"
REDEFINE BUTTON oBtnNew ID 101 OF oDbarra ACTION Nueva()
REDEFINE BUTTON oBtnMod ID 102 OF oDbarra ACTION If(!Empty(ccp_codi),Modificar(),oBtnMod:SetFocus())
REDEFINE BUTTON oBtnDel ID 103 OF oDbarra ACTION If(AvisoDel(),Eliminar(),oBtnDel:SetFocus())
REDEFINE BUTTON oBtnBus ID 104 OF oDbarra ACTION (cOpcion:="B",ClearVars(),Cerrar_Opciones(),oDCAbmCon:Enable(),ocp_codi:SetFocus())
REDEFINE BUTTON oBtnSig ID 105 OF oDbarra ACTION Siguiente()
REDEFINE BUTTON oBtnAnt ID 106 OF oDbarra ACTION Anterior()
REDEFINE BUTTON oBtnSal ID 120 OF oDbarra ACTION oWndCon:End()
ACTIVATE DIALOG oDbarra NOWAIT;
VALID (oBtnSal:Click(),.T.)
return nil

Static Function Codigo()
DEFINE DIALOG oDCAbmCon OF oWndCon RESOURCE "ABM_CONCE_CODIGO"
REDEFINE BUTTON oBtnCon ID 802 OF oDCAbmCon ACTION If(HelpCon(),VolHelp(.t.),VolHelp(.f.))
REDEFINE GET ocp_codi VAR ccp_codi ID 801 OF oDCAbmCon VALID Opcion()
ocp_codi:bRclicked:=({||If(HelpCon(),VolHelp(.t.),VolHelp(.f.))})
ACTIVATE DIALOG oDCAbmCon NOWAIT;
VALID (ccp_codi:=space(3),ocp_codi:Refresh(),Abrir_Opciones(),oDCAbmCon:Disable(),oBtnBus:SetFocus(),.F.)
oDCAbmCon:Disable()
Return nil

Static Function Datos()
DEFINE DIALOG oDDAbmCon OF oWndCon RESOURCE "ABM_CONCE_DATOS"
REDEFINE GET ocp_desc VAR ccp_desc ID 802 OF oDDAbmCon
REDEFINE GET ocp_sign VAR ccp_sign ID 803 OF oDDAbmCon VALID Signo()
REDEFINE GET ocp_tipo VAR ccp_tipo ID 804 OF oDDAbmCon VALID Tipo()
REDEFINE BUTTON oBtnSi ID 812 OF oDDAbmCon ACTION Aceptar()
REDEFINE BUTTON oBtnNo ID 813 OF oDDAbmCon ACTION Cancelar()
Cerrar_SiNo()
ACTIVATE DIALOG oDDAbmCon NOWAIT;
Valid (oBtnNo:Click,.F.)
oDDAbmCon:Disable()
return nil
Un saludo
___________________________________________________
La mente es como un paracaídas, solo funciona si se abre
Harbour 3.2.0dev (r1601050904) , Fivewin 16.04
User avatar
gautxori
 
Posts: 69
Joined: Thu Feb 25, 2010 12:44 pm
Location: Plentzia (Bizkaia)

Re: Problema / Bug TWINDOW y controles

Postby Antonio Linares » Thu Mar 31, 2016 7:01 pm

He modificado tu ejemplo asi y aqui funciona bien. Por favor construyélo y comprueba si a ti tambien te funciona bien:

Code: Select all  Expand view
#include "FiveWin.ch"

Function Main()

DEFINE Window oWndCon From 0,0 to MaxRow(),MaxCol();
TITLE OemToAnsi("Fichero De Conceptos");
BORDER NONE NOSYSMENU NOMINIMIZE NOMAXIMIZE

SET MESSAGE OF oWndCon TO "" KEYBOARD DATE CENTERED
Barra() // Dialog 1
Codigo() // Dialog 2
Datos() // Dialog 3
ACTIVATE Window oWndCon MAXIMIZED

Return nil

Static Function Barra()
local oBtnSal
DEFINE DIALOG oDBarra OF oWndCon // RESOURCE "ABM_CONCE_BARRA"
@ 2, 2 BUTTON oBtnSal OF oDbarra ACTION oWndCon:End()
ACTIVATE DIALOG oDbarra NOWAIT;
VALID (oBtnSal:Click(),.T.)
return nil

Static Function Codigo()
DEFINE DIALOG oDCAbmCon OF oWndCon // RESOURCE "ABM_CONCE_CODIGO"
ACTIVATE DIALOG oDCAbmCon NOWAIT;
VALID ( oBtnBus:SetFocus(),.F. )
Return nil

Static Function Datos()
DEFINE DIALOG oDDAbmCon OF oWndCon // RESOURCE "ABM_CONCE_DATOS"
// Cerrar_SiNo()
ACTIVATE DIALOG oDDAbmCon NOWAIT;
Valid (oBtnNo:Click,.F.)
return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Problema / Bug TWINDOW y controles

Postby gautxori » Fri Apr 01, 2016 5:11 pm

Buenas tardes Antonio, he incorporado este código en el programa , he añadido los recursos de la DLL y así "pelao" funciona, voy a ir incorporando código poco a poco para ver donde puede estar el fallo

Muchas gracias.
...
...
...

CONTINUO las pruebas
He conseguido que funcione
El cambio mas importante es este

Antes
Function AbmCon(oWnd)
ccp_codi:=space(3)
DEFINE Window oWndCon OF oWnd From 0,0 to MaxRow(),MaxCol();
Ahora
Function AbmCon()
ccp_codi:=space(3)
DEFINE Window oWndCon From 0,0 to MaxRow(),MaxCol();

Y LA LLAMADA al programa AbmCon
Antes
REDEFINE BTNBMP RESOURCE "1102" oBtnCon ID 102 OF oDlgMenuP ACTION AbmCon(oWnd)
Ahora
REDEFINE BTNBMP RESOURCE "1102" oBtnCon ID 102 OF oDlgMenuP ACTION AbmCon()

Pregunto :No se conceptualmente es correcto , es por continuar cambiando el resto de programas en la misma línea ¿?

Gracias por todo
Un saludo
___________________________________________________
La mente es como un paracaídas, solo funciona si se abre
Harbour 3.2.0dev (r1601050904) , Fivewin 16.04
User avatar
gautxori
 
Posts: 69
Joined: Thu Feb 25, 2010 12:44 pm
Location: Plentzia (Bizkaia)

Re: Problema / Bug TWINDOW y controles

Postby Antonio Linares » Fri Apr 01, 2016 7:23 pm

Si OF oWnd es nil entonces FWH lo proporciona por defecto

asi que basicamente las dos funcionan bien
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 98 guests