Page 1 of 1

Cannot create Dialog Box con Resource Workshop

PostPosted: Fri May 18, 2007 11:43 pm
by cuatecatl82
:D :) Hola, de nuevo aqui molestando a todos ustedes..

Estoy empezando con los 32 bits y tengo problemas al mostrar una dialogo en el cual pido contraseña para entrar, ya estuve investigando en la red y supe que los controles de borland no son para 32 bits por los cual ya quite el unico que tenia, pero sigo sin poder mostrar el dialogo poruqe marca error:

Application
===========
Path and name: C:\SISA2007\SISA2007.Exe (32 bits)
Size: 2,083,840 bytes
Time from start: 0 hours 0 mins 0 secs
Error occurred at: 18/05/2007, 18:26:41
Error description: Error FiveWin/3 Cannot create Dialog Box:
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿResource: Acceso

Stack Calls
===========
Called from: => CREATEDLGERROR(0)
Called from: DIALOG.PRG => TDIALOG:ACTIVATE(0)
Called from: => LGETPASSWORD(222)
Called from: sisa2007.prg => MAIN(40)

este el el código que uso:

STATIC FUNCTION lGetPassword()

LOCAL oDlg,oBmp,oCbx,oGet,oBtn1,oBtn2,oBit,oIco,oBmpx,oFnt,oCur
LOCAL lSalir := .F.
LOCAL nTries := 0
LOCAL tPassword := SPACE (15)
LOCAL hDC := oDlg


DEFINE CURSOR oCur RESOURCE "Mano"
DEFINE FONT oFnt NAME "Arial" WEIGHT 8
DEFINE DIALOG oDlg RESOURCE "Acceso" TITLE "Control de Acceso al Sistema" FONT oFnt
REDEFINE BITMAP oBmp ID 052 FILENAME ".\SUPPORT\ENGINE\IMAGHAND.SUP" OF oDlg
REDEFINE BITMAP oBmpx ID 600 FILENAME ".\SUPPORT\ENGINE\IMAINTRO.SUP" OF oDlg Adjust
REDEFINE COMBOBOX oCbx VAR nItem ID 101 Of oDlg UPDATE ITEMS oApp:cUsuario STYLE CBS_DROPDOWN
REDEFINE GET oGet VAR tPassword ID 102 OF oDlg PICTURE "@!"
REDEFINE BUTTON oBtn1 ID 400 OF oDlg ACTION (lSalir:=.T. , nTries++ , ;
lSi := ALLTRIM( tPassword ) == ALLTRIM( oApp:cPassword[nItem] ), ;
IF( nTries > 3 .OR. lSi , oDlg:END(), ;
( MsgStop( "¿ OLVIDO SU CONTRASEÑA..?"+CRLF+CRLF+;
"Haga click en el botón < RECORDAR > para ver "+CRLF+;
"su recordatorio según el Nombre de Usuario... ", "¡ Acceso Denegado !" ), lSalir:=.F., oGet:SetFocus(.T.) ) ) )


REDEFINE BUTTON oBtn2 ID 415 OF oDlg ACTION (lSalir:=.T., oDlg:END())
REDEFINE BTNBMP oBit ID 104 OF oDlg RESOURCE "RECORDAR" ACTION ( MsgInfo("Palabra o frase para Recordar su Clave de Acceso: "+CRLF+CRLF+ ALLTRIM( oApp:cRecordar[nItem] ),"Recordar Clave se Acceso"), oGet:SetFocus(.T.) )

oDlg:lHelpIcon := .F.
oBit:cToolTip := "Recordar"+CRLF+"Contaseña"
oBmp:lTransparent := .T.
oBtn1:oCursor := oCur
oBtn2:oCursor := oCur
oBit:oCursor := oCur

ACTIVATE DIALOG oDlg CENTERED VALID (lSalir) ON INIT( SetWindowPos( oDlg:hWnd, -1, 0, 0, 0, 0, 3 ) )

oFnt:END()
oBmp:END()
oBmpX:END()
oCur:END()

RETURN (lSi)

el díalogo estaba en una dll de 16 bits y la tengo en un rc para incrustarlo en el exe.

este es el rc del dialogo

ACCESO DIALOG 241, 76, 174, 253
STYLE DS_MODALFRAME | 0x4L | WS_POPUP | WS_CAPTION
FONT 8, "MS Sans Serif"
{
COMBOBOX 101, 85, 177, 79, 76, CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | CBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP
EDITTEXT 102, 85, 195, 78, 12, ES_UPPERCASE | ES_PASSWORD | WS_BORDER | WS_TABSTOP
CONTROL "Button", 400, "BorBtn", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 18, 225, 51, 17
CONTROL "TBtnBmp", 104, "TBtnBmp", WS_CHILD | WS_VISIBLE | WS_BORDER, 131, 222, 25, 23
LTEXT "Usuario:", 29, 58, 180, 26, 8, SS_NOPREFIX | WS_GROUP
LTEXT "Contraseña:", 30, 46, 196, 38, 8
CONTROL "TBitmap", 52, "TBitmap", WS_CHILD | WS_VISIBLE, 11, 169, 34, 44
CONTROL "Button", 415, "BorBtn", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE, 75, 225, 51, 17
CONTROL "TBitMap", 600, "TBitMap", WS_CHILD | WS_VISIBLE | WS_BORDER, 17, 15, 140, 148
}

No se si es recomendable usar el Resource Workshop pra trabajar con rc, ayer baje el Pelles C pero no entiendo ni "j" es algo confunso y en ocaciones te muestra el rc con texto codificado y a veces los recursos incrustados, porfa :shock: :? digamne :idea: con que editor de recursos podría trabajar..? :?:

PostPosted: Sat May 19, 2007 1:26 am
by sysctrl2
Cuate,, este es mis msg. ccc_3_ccc@hotmail.com

yo te puedo apoyar,


yo usaba worshop,

pero lo cambie ya por pelles C

por la simple razon de que pelles C es un sistema a 32 bits

y workshop 16 bits.

saludos..

PostPosted: Sat May 19, 2007 2:50 am
by wmormar
sysctrl2 wrote:Cuate,, este es mis msg. ccc_3_ccc@hotmail.com

yo te puedo apoyar,


yo usaba worshop,

pero lo cambie ya por pelles C

por la simple razon de que pelles C es un sistema a 32 bits

y workshop 16 bits.

saludos..


El workshop es a 16 bits, pero t genera recursos a 32 bits de igual manera que PellesC.

Creo que es cuestión de gustos.

PostPosted: Sat May 19, 2007 11:24 pm
by cuatecatl82
:D :D Gracias a los dos por haberme contestado, por suerte estuve revisando y compilando ejemplos de la carpeta samples y ahi encontre la respuesta:

habia que cambiar en el RC la líne que hacia referencia a los bitmaps:

CONTROL "TBitmap", 100, "TBitmap", 0 | WS_CHILD | WS_VISIBLE, 11, 9, 92, 87

por esto:

CONTROL "", 100, "TBitmap", WS_CHILD | WS_VISIBLE, 7, 8, 106, 120

Y esto poruqe el control Bitmap es de Borland :evil: y no es para 32bits. :twisted:

:idea: :idea: Las cosas que hay que aprender para migrar, pero vale la pena interntar de todo, no lo creen..? :arrow:

Saludos desde Chiapas, México