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.