Page 1 of 2
Message not found: TSAY:LTRANSPARENT
Posted: Sat Mar 25, 2006 4:32 pm
by karinha
Antonio, Actualizei Mi Version Para el Release de Marzo/2006 y mi retorna
este erro, ke hacer?
Aplicacao:
===========
Caminho(Path): C:\PDVXB\BALCAOW.EXE (32 bits)
Tamanho: 3,584,512 bytes
Hora Inicial: 0 hours 0 mins 0 secs
Ocorrencia de Erro: 03/25/06, 13:25:39
Descricao do Erro: Error BASE/1004 Message not found: TSAY:LTRANSPARENT
Chamada da Pilha:
=================
Chamada De: TSAY:ERROR(179)
Chamada De: (b)HBOBJECT:HBOBJECT(105)
Chamada De: TSAY:MSGNOTFOUND(0)
Chamada De: TSAY:LTRANSPARENT(167)
Chamada De: TSAY:INITIATE(0)
Chamada De: __OBJSENDMSG(0)
Chamada De: OSEND(0)
Chamada De: ASEND(0)
Chamada De: TDIALOG:INITIATE(0)
Chamada De: TDIALOG:HANDLEEVENT(0)
Chamada De: DIALOGBOXINDIRECT(0)
Chamada De: TDIALOG:ACTIVATE(0)
Chamada De: MSGMETER(35)
Chamada De: MAIN(168)
Lineas de mi programa: -> 168
IF !FILE( "VENCOP01.DBF" )
MsgMeter( { | oMeter, oText, oDlg, lEnd | ;
CRIASENHAS( oMeter, oText, oDlg, @lEnd ) }, ;
"Por Favor, Espere! Recriando os Bancos" )
ELSE
MsgMeter( { | oMeter, oText, oDlg, lEnd | ;
CRIARNOVOS( oMeter, oText, oDlg, @lEnd ) }, ;
"Por Favor, Espere! Recriando os Bancos" )
ENDIF
Posted: Sat Mar 25, 2006 4:49 pm
by Rossine
Olá João Blz ?
Veja se na sua classe SAY.prg está assim:
Code: Select all
//----------------------------------------------------------------------------//
#ifndef __CLIPPER__
METHOD EraseBkGnd( hDC ) CLASS TSay
DEFAULT ::lTransparent := .f.
if IsAppThemed() .or. ::lTransparent
return 1
endif
return Super:EraseBkGnd( hDC )
#endif
//----------------------------------------------------------------------------//
METHOD SetText( cText ) CLASS TSay
local hDC
DEFAULT ::lTransparent := .f.
::cCaption := If( ::cPicture != nil, Transform( cText, ::cPicture ),;
cValToChar( cText ) )
#ifndef __CLIPPER__
if IsAppThemed() .or. ::lTransparent
DrawPBack( ::hWnd, hDC := GetDC( ::hWnd ) )
ReleaseDC( ::hWnd, hDC )
endif
#endif
SetWindowText( ::hWnd, ::cCaption )
return nil
Se não estiver, coloque assim e recompile novamente a lib do fwh, ok ?
Abraços,
Rossine.
Posted: Sat Mar 25, 2006 4:57 pm
by karinha
Igual, idéntico, derecho, ecuánime, Rossine.
No hay diferencia...
Posted: Sat Mar 25, 2006 11:41 pm
by Antonio Linares
CLASS TControl
...
DATA lTransparent
Posted: Mon Mar 27, 2006 12:31 pm
by karinha
Antonio, DATA lTransparent ya lo esta en: CONTROL.PRG es otra cosa...
Aplicacion:
===========
Caminho(Path): C:\PDVXB\BALCAOW.EXE (32 bits)
Tamanho: 3,562,496 bytes
Hora Inicial: 0 hours 0 mins 0 secs
Ocorrencia de Erro: 03/27/06, 09:16:26
Descricao do Erro: Error BASE/1004 Message not found: TSAY:LTRANSPARENT
Llamada da Pilha:
=================
llamada De: TSAY:ERROR(179)
METHOD Initiate( hDlg ) CLASS TSay
Super:Initiate( hDlg )
if ! IsAppThemed()
if ::lTransparent
if ! Empty( ::oWnd:oBrush:hBitmap )
::SetBrush( ::oWnd:oBrush )
endif
endif
endif
if ::cCaption != nil // don't use Empty() here or blank texts will not show
SetWindowText( ::hWnd, ::cCaption )
else
::cCaption = GetWindowText( ::hWnd )
endif
return nil
Llamada De: (b)HBOBJECT:HBOBJECT(105)
Llamada De: TSAY:MSGNOTFOUND(0)
Llamada De: TSAY:LTRANSPARENT(167)
//-> Linea 167 de SAY.PRG
oWnd:DefControl( Self )
Llamada De: TSAY:INITIATE(178)
//-> Linea 178 de SAY.PRG
METHOD Initiate( hDlg ) CLASS TSay
Super:Initiate( hDlg )
if ! IsAppThemed()
if ::lTransparent
if ! Empty( ::oWnd:oBrush:hBitmap )
::SetBrush( ::oWnd:oBrush )
endif
endif
endif
if ::cCaption != nil // don't use Empty() here or blank texts will not show
SetWindowText( ::hWnd, ::cCaption )
else
::cCaption = GetWindowText( ::hWnd )
endif
return nil
Llamada De: __OBJSENDMSG(0)
Llamada De: OSEND(224)
Llamada De: ASEND(175)
Llamada De: TDIALOG:INITIATE(657)
//-> Linea 657 de DIALOG.PRG
ASend( ::aControls, "INITIATE()", ::hWnd )
Llamada De: TDIALOG:HANDLEEVENT(902)
//-> Linea 902 de DIALOG.PRG
return ::Initiate( nWParam, nLParam )
Llamada De: DIALOGBOXINDIRECT(0)
Llamada De: TDIALOG:ACTIVATE(269)
//-> Linea 269 de DIALOG.PRG
::nResult = if( ! Empty( ::cResName ),;
DialogBox( ::hResources, ::cResName,;
hActiveWnd, Self ),;
DialogBoxIndirect( GetInstance(),;
If( ! Empty( ::cResData ), ::cResData, ::cToChar( hActiveWnd ) ),;
hActiveWnd, Self ) )
Llamada De: MSGMETER(30)
//-> Linea 30 de MSGMETER.PRG
ACTIVATE DIALOG oDlg CENTERED ;
VALID lEnd
Llamada De: MAIN(168) //-> Mi function
Posted: Mon Mar 27, 2006 1:20 pm
by karinha
Local 6: O Classe: TDIALOG
MSGMETER
Param 1: B {|| ... }
Param 2: C "Por Favor, Espere! Recriando os Bancos"
Local 1: C "Please, wait"
Local 2: O Classe: TDIALOG
Local 3: O Classe: TMETER
Local 4: O Classe: TSAY
Local 5: O Classe: TBUTTON
Local 6: O Classe: TFONT
Local 7: L .F.
Local 8: L .F.
Local 9: N 0
Classes em Uso:
===============
1 HBCLASS
2 HBOBJECT
3 TFONT
4 TWINDOW
5 TDIALOG
6 TBRUSH
7 TCONTROL
8 TSAY
9 TMETER
10 TBUTTON
11 ERROR
12 TREG32
Posted: Mon Mar 27, 2006 4:45 pm
by Antonio Linares
João,
Estás usando las clases estandard de FWH ó usas clases modificadas ?
Posted: Mon Mar 27, 2006 4:54 pm
by karinha
Antonio mis disculpas, erro mio.
Estaba llamando la CLASSE CONTROL.PRG Antigua en mi ARCHIVO.BAT Y ARCHIVO.LNK
Ahora el problema es en los GROUP BOX, Comando TRANSPARENT NO FUNCIONA.
// Testing Groups
#include "FiveWin.ch"
#include "WColors.ch"
//----------------------------------------------------------------------------//
Function Main()
LOCAL oDlg, oBrush, oGroup, oFont
DEFINE BRUSH oBrush FILE "..\bitmaps\bricks.bmp"
DEFINE FONT oFont NAME 'MS Sans Serif' SIZE 0,-8 BOLD
DEFINE DIALOG oDlg NAME "Test" BRUSH oBrush TRANSPARENT
REDEFINE GROUP oGroup ID 101 COLOR GetSysColor( COLOR_HIGHLIGHT ) OF oDlg ;
FONT oFont PROMPT "Modified Group Caption" TRASPARENT
REDEFINE BUTTON ID 103 OF oDlg ACTION oDlg:End()
ACTIVATE DIALOG oDlg
RELEASE BRUSH oBrush
RELEASE FONT oFont
return Nil
//----------------------------------------------------------------------------//
Posted: Mon Mar 27, 2006 4:56 pm
by karinha
OTRA:
EN \SAMPLES\TESTFOLD.PRG
AL COMPILAR, SI APLICO 2(DOS) ESCAPE, hay problema. Mira por favor.
Posted: Mon Mar 27, 2006 7:24 pm
by karinha
Antonio, Esto no mi funciona mas... Los GET's, y los RADIOBUTTONs Desaparece.
DEFINE ICON OICO FILE ".\BRASIL__.BMP" // Um Öcone no Lado Esquerdo da Tela
DEFINE BRUSH oBrush FILE "COMPAR.BMP"
DEFINE DIALOG oDlg RESOURCE "DLG_ENTRADA_SAIDA_SANGRIA" ;
TITLE cTitle ;
ICON oIco ;
BRUSH oBrush TRANSPARENT
// Este Comando, Desliga Aquela ? Chata da Dialog que Pede o Help.
ODLG:LHELPICON := .F.
//--- Melhoria Visual nos Say's Usando a Classe SSAY.PRG
For iDcor=401 To 415
REDEFINE SENSITIVE SAY ID iDcor ;
COLOR CLR_BLACK ;
OF oDlg ;
UPDATE ;
RAISED TRANSPARENT ;
FONT oFont CENTER
Next iDcor
//-> Colores en el Group Box de laa Dialog
REDEFINE GROUP oGroup ID 501 COLOR CLR_VERMELHO, CLR_AMARELO OF oDlg ;
FONT oFont TRANSPARENT
REDEFINE RADIO oRadio VAR lRadCadCaixa ID 601, 602, 603, 604 OF oDlg ;
COLOR CLR_BLACK, RGB( 143, 168, 127 ) ;
ON CHANGE( Click(), TROCAR_TIPO( lAppend, aGet, lRadCadCaixa, oDlg ) )
REDEFINE GET aGet[1] VAR XNUMCXA PICTURE "@K 999" ;
ID 20 OF oDlg ;
VALID( XNUMCXA > 0 ) ;
FONT oFont UPDATE ;
COLOR CLR_HRED, CLR_HCYAN ;
MESSAGE ( OemToAnsi( "Caixa Para Gravar os Dados da Sangria" ) )
Posted: Mon Mar 27, 2006 8:38 pm
by karinha
Antonio, mi falta algo en la CLASSE GROUP.PRG, para ficar perfecta como la antigua. ke és???
#include "FiveWin.ch"
#include "Constant.ch"
#define WM_NCHITTEST 132 // 0x84
#define WM_UPDATEUISTATE 296 // 0x0128
#ifdef __XPP__
#define Super ::TControl
#define New _New
#endif
//----------------------------------------------------------------------------//
CLASS TGroup FROM TControl
METHOD New( nTop, nLeft, nBottom, nRight, cLabel, oWnd, nClrText,;
nClrPane, lPixel, lDesign, oFont, lTransparent ) CONSTRUCTOR
METHOD ReDefine( nId, cLabel, oWnd, nClrText, nClrPane, oFont, lTransparent ) CONSTRUCTOR
METHOD cToChar() INLINE Super:cToChar( "BUTTON" )
#ifndef __CLIPPER__
METHOD EraseBkGnd( hDC )
#endif
METHOD HandleEvent( nMsg, nWParam, nLParam )
METHOD Initiate( hDlg )
METHOD Colors( hDC )
ENDCLASS
//----------------------------------------------------------------------------//
METHOD New( nTop, nLeft, nBottom, nRight, cLabel, oWnd, nClrText, nClrPane,;
lPixel, lDesign, oFont, lTransparent ) CLASS TGroup
DEFAULT nTop := 0, nLeft := 0, nBottom := 3, nRight := 3,;
oWnd := GetWndDefault(),;
nClrText := oWnd:nClrText, nClrPane := oWnd:nClrPane,;
lPixel := .f., lDesign := .f.,;
lTransparent:= .f., oFont := oWnd:oFont
#ifdef __XPP__
#undef New
#endif
::nTop = nTop * If( lPixel, 1, GRP_CHARPIX_H ) // 14
::nLeft = nLeft * If( lPixel, 1, GRP_CHARPIX_W ) // 7
::nBottom = nBottom * If( lPixel, 1, GRP_CHARPIX_H ) // 14
::nRight = nRight * If( lPixel, 1, GRP_CHARPIX_W ) // 7
::cCaption = cLabel
::oWnd = oWnd
::nStyle = nOR( WS_CHILD, WS_VISIBLE, BS_GROUPBOX,;
If( lDesign, nOr( WS_TABSTOP, WS_CLIPSIBLINGS ), 0 ) )
::nId = ::GetNewId()
::lUpdate = .f.
::lDrag = lDesign
::SetColor( nClrText, nClrPane )
if lTransparent
#ifndef __XPP__
::SetBrush( TBrush():New( "NULL" ) )
#else
::SetBrush( TBrush():New():_New( "NULL" ) )
#endif
endIf
if ! Empty( oWnd:hWnd )
::Create( "BUTTON" )
oWnd:AddControl( Self )
else
oWnd:DefControl( Self )
endif
if oFont != nil
::SetFont( oFont )
endIf
if lDesign
::CheckDots()
endif
return Self
//----------------------------------------------------------------------------//
METHOD ReDefine( nId, cLabel, oWnd, nClrText, nClrPane, oFont,;
lTransparent ) CLASS TGroup
DEFAULT nId := ::GetNewId(),;
nClrText := oWnd:nClrText, nClrPane := oWnd:nClrPane,;
lTransparent:= .f.
::nId = nId
::cCaption = cLabel
::hWnd = 0
::oWnd = oWnd
::lUpdate = .f.
::lTransparent = lTransparent
::SetColor( nClrText, nClrPane )
If lTransparent
#ifndef __XPP__
::SetBrush( TBrush():New( "NULL" ) )
#else
::SetBrush( TBrush():New():_New( "NULL" ) ) // Xbase++ does not translates twice
#endif
EndIf
if oFont != Nil
::SetFont( oFont )
endIf
oWnd:DefControl( Self )
return Self
//----------------------------------------------------------------------------//
METHOD Initiate( hDlg ) CLASS TGroup
Super:Initiate( hDlg )
if Empty( ::cCaption )
::cCaption = GetWindowText( ::hWnd )
Else // [byHernan] Si se redefine el
SetWindowText( ::hWnd, ::cCaption ) // [byHernan] nombre debe respetarse
endif
return nil
//----------------------------------------------------------------------------//
METHOD HandleEvent( nMsg, nWParam, nLParam ) CLASS TGroup
local nResult
if ::lDrag .and. nMsg == WM_NCHITTEST // To have a standard behavior on Clicks
return DefWindowProc( ::hWnd, nMsg, nWParam, nLParam )
endif
if nMsg == WM_UPDATEUISTATE // Groups were erased when pressing ALT
nResult = Super:HandleEvent( nMsg, nWParam, nLParam )
::Refresh()
return nResult
endif
return Super:HandleEvent( nMsg, nWParam, nLParam )
//----------------------------------------------------------------------------//
#ifndef __CLIPPER__
METHOD EraseBkGnd( hDC ) CLASS TGroup
if IsAppThemed()
// return 1 Fix: 09-May-2005
endif
return Super:EraseBkGnd( hDC )
#endif
//----------------------------------------------------------------------------//
METHOD Colors( hDC ) CLASS TGroup
DEFAULT ::nClrText := GetTextColor( hDC ),;
::nClrPane := GetBkColor( hDC ),;
::oBrush := TBrush():New( , ::nClrPane )
SetTextColor( hDC, ::nClrText )
SetBkColor( hDC, ::nClrPane )
if ::oBrush:hBitmap != nil
SetBrushOrgEx( hDC, ::nLeft(), nBmpHeight( ::oBrush:hBitmap ) - ::nTop )
endif
return ::oBrush:hBrush
//----------------------------------------------------------------------------//
Posted: Mon Mar 27, 2006 8:57 pm
by Antonio Linares
Esa clase TGroup está bien.
Posted: Mon Mar 27, 2006 11:01 pm
by karinha
Antonio Linares wrote:Esa clase TGroup está bien.
Si Antonio...
Pero hay alguno problema con CONTROL.PRG o TGET.PRG con el COMANDO lTransparent.
si uso CONTROL.PRG de MARZO/2006 los SAY's si quedan blancos.
Si usted mirar GROUP.PRG de marzo/2006 no esta asi como el ejemplo arriba.
Por favor teste TESTGRP.PRG mira ke el GET no aparece.
Tienes algo mui errado com el release de marzo/2006. Saludos.
Posted: Tue Mar 28, 2006 3:40 am
by Antonio Linares
Joao,
Intenta usar las clases estandard de FWH sin modificarlas ni mezclar unas versiones con otras.
Posted: Tue Mar 28, 2006 11:37 am
by karinha
Antonio, creo ke usted no estás me entendendo, jo estoy hablando és de las clases estandard del release de marzo de 2006, ke no estan completas.
Tengo 2(dos) directórios de FIVEWIN, uno de NOVEMBER/2006, com mis modificaciones en las CLASSES, ke me funciona todo perfecto.
Otro directório com el FIVEWIN de MARZO/2006, este Antonio las CLASSES están incompletas e con muchos erros.
Para compreender donde está el erro, por favor, compila en el \SAMPLES\TESTGRP.PRG usando o COMANDO TRANSPARENT. Todo desaparece Antonio... Mira(ojear) ke el GET no aparece... Esto también ocorre, cuando se tiene RADIO BUTTONs Y CHECKBOXs.
Hay necesidad de revisar todas las CLASSES ke contiene el COMANDO lTransparent.
Otra, en el \SAMPLES\TESTFOLD.PRG -> Compila por favor e tecle ESCAPE 2 veces.
Gracias y saludos.