Página 1 de 2

Mensagem de erro

Enviado: 17 Jun 2010 14:47
por clebervn
Ao incluir duas imagens, uma como plano de fundo e outra para um botão, ao tentar executar o programa deu a seguinte mensagem de erro :

"THIS PROGRAM MUST BE RUN UNDER WIN32"

alguém sabe ???

Re: Mensagem de erro

Enviado: 17 Jun 2010 14:58
por clebervn
notei q antes, na compilação, da a seguinte mensagem.

"FATAL : ACCESS VIOLATION. LINK TERMINATED."

Re: Mensagem de erro

Enviado: 17 Jun 2010 15:18
por clebervn
bom, eu diiminui o tamanho da imagem de 500 x 500 para 400 x 400 e ai deu certo....

tem restrições ????

Re: Mensagem de erro

Enviado: 17 Jun 2010 15:29
por Maligno
Tá com cara de bug.

Re: Mensagem de erro

Enviado: 17 Jun 2010 15:34
por esbasso
mas bug da imagem

Re: Mensagem de erro

Enviado: 17 Jun 2010 15:38
por sygecom
De mais detalhes, qual compilador ? qual versão da Hwgui ? aqui uso sem problemas...tente simular um problema desses pelo Designer.

Re: Mensagem de erro

Enviado: 17 Jun 2010 16:15
por clebervn
então, xharbour 1.0.0 + hwgui 2.16......

ai vc vai me dizer para atualizar, mas qdo atualizo encontro outros problemas q funcionam no meu sistema e passam a travar na atualização do cvs.
até por isso não mudei ainda. acho q até ja te mandei um exemplo pra tu compilar tb e continou não funcionando.
mas se quiser posso te mandar novamente pra tu tentares...

abc

Re: Mensagem de erro

Enviado: 17 Jun 2010 16:20
por sygecom
Olá clebervn,
É tem que atualizar mesmo, muita coisa mudou para melhor de 3 anos para ca.

Desculpa mas não lembro de ter me mandado, mas Post um exemplo aqui que eu posso simplesmente pegar seu exemplo e compilar para testar, mas por favor post exemplo completo.

Re: Mensagem de erro

Enviado: 17 Jun 2010 17:16
por clebervn

Código: Selecionar todos

#include "hwgui.ch"
#include "inkeyw.ch"
#include "fileio.ch"
#include "directry.ch"

#define CRLF          CHR(13)+CHR(10)  // PULO DE LINHA



*----------------------------------------------------------------------------*
*  Programa..: Tag.Prg - Versão : XHARBOUR C/HWGUI (AGO/2009)                *
*  Função....: Importador de Notas Fiscais Eletrônicas                       *
*  Data......: 06/08/2009                                                    *
*  Autor.....: Cleber                                                        *
*----------------------------------------------------------------------------*


FUNCTION Main
Public oDir := "\"+Curdir()+"\"

PUBLIC cNomLabel, cObjLabel
PUBLIC oFontNegr, oFontMenu, oFontNorm, oFontCalc, oFontNor1
PUBLIC nUltCalc := 0
// CORES 
PUBLIC x_LIGHTGREEN := 12507070
PUBLIC x_BLUE       := 16711680
PUBLIC x_DARKBLUE   := 10027008
PUBLIC x_WHITE      := 16777215
PUBLIC x_CYAN       := 16776960
PUBLIC x_BLACK      :=        0
PUBLIC x_RED        :=      255
PUBLIC x_GREEN      :=    32768
PUBLIC x_GRAY       :=  8421504
PUBLIC x_YELLOW     :=    65535

PRIVATE oMenu00, oSplash, cSenha, oLabelRH, cLabelRH := ""
PRIVATE aVetor1 := { {"NF"       ,"C",15, 0} ,;
                     {"CFOP"     ,"C", 6, 0} ,;
                     {"MENSAGEM" ,"C",70, 0} ,;
                     {"ARQUIVO"  ,"C",15, 0} ,;
                     {"DTPROC"   ,"D", 8, 0}  }

// Versão para XHARBOUR
PRIVATE lMaster := .T., lMalaDir := .F., lCompleto := .T. , lExeMono := .F.

PRIVATE Gc_Versao := "JUNHO/2010", Gl_Versao :=  "Versão 1.11", lSistemaON := .F.

PRIVATE pEmp_tela  := " "
PRIVATE Sistema    := 1
PRIVATE pSis       := "TAG"
PRIVATE pMatriz    := "U"          && Matriz,Filial,Unica.
PRIVATE pAbrevMat  := SPACE(08)    && Nome da ultima empresa matriz acessada.
PRIVATE vSistema   := "Importador de Notas Fiscais Eletrônicas"
PRIVATE pSystem    := "TAG"
PRIVATE pTitulosis := "Importador NF-e"
PRIVATE pEnter     := "ENTER"
PRIVATE pBranco    := SPACE(80)
PRIVATE pData      := DATE()
PRIVATE pDtbr      := CTOD("  /  /  ")
PRIVATE mxmat      := 130
PRIVATE vxRelat    := "80"
PRIVATE Wf09       := .f.
PRIVATE WgeraFT    := ""
PRIVATE EmpresaX   := vAbrev := SPACE(08)
PRIVATE PathDbf1   := PathDbf2 := PathNtx1 := PathNtx2 := " "
PRIVATE yTot_Dep   := yTot_Set := yTot_Sec := yFol_Dep := yFol_Set := yFol_Sec := " "
PRIVATE vCriaNtxR  := vCriaNtxE := "N"
PRIVATE VrDepIr    := 0   && Variavel utilizada nos calculos para calc. do dep. ir.
PRIVATE vBaseCx    := 0   && Variavel utilizada nos calculos para receber a base acumulada usada na funcao IrU
PRIVATE vIrCx      := 0   && Variavel utilizada nos calculos para receber a soma dos ir pago, usada na funcao IrU
PRIVATE Trab       := 0   && Dias trabalhados em mes de 30 dias.
PRIVATE TrabP      := 0   && Trab/30
PRIVATE RemuFer    := 0   && Vide funcao38.
PRIVATE Stk_Vid    := ""
PRIVATE Stk_Dbf    := ""
PRIVATE AlterouCad := .F.
PRIVATE AlterouTab := .F.
PRIVATE lIntegrado := .F.
PRIVATE lInstala   := .F.
PRIVATE SistOpera  := "WIN98"
PRIVATE nQtdFiles  := 0
PRIVATE nVerDbf1   := 0
PRIVATE nVerDbf2   := 0
PRIVATE nAliqFgts  := 0.08   //  Aliquota generica do Fgts (depende da empresa)
PRIVATE cEmpresa2  := SPACE(08)
PRIVATE Gl_View    := "N"
PRIVATE AlterouMoe := .F.
PRIVATE Colorido   := .F.
PRIVATE CPadrao    := 0

*----------------------------------------------------------------------------*
* Variaveis publicas de impressao                                            *
*----------------------------------------------------------------------------*
PRIVATE Gl_Impr     := 1      // 1 := Padrao Epson  10:=Laser  20:=Deskjet
PRIVATE Gl_Device   := 1      // 1:=Impressora  2:=Video  3:=Arquivo
PRIVATE Gl_Txt      := ""     // Nome do arquivo
PRIVATE Gl_Larg     := 132    // Largura do relatorio
PRIVATE Gl_Compr    := .T.    // .T. := Comprimido,  .F. := Normal
PRIVATE Gl_ChkImp   := .T.    // Checa impressora
PRIVATE Gl_Imprimiu := .F.    // .T. := Imprimiu,  .F. := Nao Imprimiu
PRIVATE Gl_Corpo    := 10     // Pitch da impressao atual
PRIVATE Gl_LinPol   := 6      // Qtde de linhas por polegada
PRIVATE Gl_LinPag   := 66     // Qtde de linhas por pagina
PRIVATE Gl_LinQue   := 59     // Quebra de folha  ( 66 - 4 - 3 = 59 )
PRIVATE Gl_Fonte    := "COURIER"
PRIVATE Gl_Estilo   := "NORMAL"
PRIVATE Gl_Traco    := "-"
PRIVATE Gx_Printer  := 0

*----------------------------------------------------------------------------*
* Inicializa picture                                                         *
*----------------------------------------------------------------------------*
PRIVATE vPic_cep  := "@R 99999-XXX"
PRIVATE vPic_cgc  := "@R 99.999.999/9999-99"
PRIVATE vPic_cpf  := "@R 999.999.999-99"
PRIVATE Colorido  := .F.
PRIVATE CPadrao   := 0
PRIVATE vSubDir   := ""
PRIVATE vLSubDir  := ""
PRIVATE pGrupo    := ""
PRIVATE vxChecImp := ""
PRIVATE pEmpresa  := ""
PRIVATE Gx_Prori  := ""
PRIVATE lImpUsbOri:= .F.
PRIVATE xCode     := 1
PRIVATE DtSys     := CTOD("01/01/91")
PRIVATE lnewfor   := .F.

****** Simples Paulista - Aliquota e valores de deducao      *****
PRIVATE nSimplesA := 2.1526
PRIVATE nSimplesB := 3.1008
PRIVATE nSimpDedA := 275.00
PRIVATE nSimpDedB := 600.00 // 1% da base de calculo do imposto ou limitado a 600.00

**** Data limite ****
PRIVATE vAno := 0, vMes := 0, vAux_Ano := 0, vAux_Mes := 0, Dt_Limite := CTOD("  /  /  "),;
        vMem1 := "", vMem2 := "", pemp_tela:= "", vPic1 := "" , vPic2 := "", VPic3 := "" ,;
        vPic4 := "", vPic7  := "", vPic8 := "", vxReceita := "", vxDespesa  := ""
PRIVATE lImpUsb  := .F.
// Indica se já foi gerado algum processo de impressão via IMPDOS e está pendente seu fechamento
PRIVATE lImpNow  := .F.
PRIVATE eMenu    := "", oMenuE, oBut1
PRIVATE vMenu    := "SOFTLOGIC - "+Gl_Versao, oMenuV

cNomLabel := "cLabelRH"
cObjLabel := "oLabelRH"

REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850

HB_LANGSELECT("PT")
HB_SETCODEPAGE("PT850" )

SET EXCLUSIVE OFF
SET DELE ON
SET EPOCH TO 1930
SET DELETE ON
SET DATE BRIT
SET DELETE ON
SET SCORE OFF
SET CONFIRM ON

*----------------------------------------------------------------------------*
* Compilacao                                                                 *
*----------------------------------------------------------------------------*
xCompila  := 9
lPelicano := .F.
lJsd      := .F.
*----------------------------------------------------------------------------*
* Novas versoes para compilar                                                *
*----------------------------------------------------------------------------*
lMaster   := .T.
lMalaDir  := .F.
lCompleto := .T.
lExeMono  := .F.

// Fontes
oFontNegr := HFont():Add( 'Arial',0,-13,700,,,)
oFontNorm := HFont():Add( 'Arial',0,-13,100,,,)
oFontMenu := HFont():Add( 'Arial',0,-23,700,,,)
oFontCalc := HFont():Add( 'Arial',0,-35,700,,,)
oFontNor1 := HFont():Add( 'Courier New',0,-13,100,,,)

**** Guarda o nome do grupo e da empresa para seguranca ****
EmpresaX  := SPACE(08)
vAbrev    := SPACE(08)
vMem1     := empresa
vMem2     := grupo
pGrupo    := grupo
pemp_tela := " "
**** Guarda a picture da conta do plano matriz ****
vPic1     := "@R "
vPic2     := "@R "
**** Picture da conta plano empresa ****
vPic3     := "@R "
vPic4     := "@R "
**** Formato europeu ****
vpic7     := "@E "
vpic8     := "@E "
vxRelat   := "80"
cTitle    := " "+vSistema


// TELA DO MENU PRINCIPAL
INIT DIALOG oMenu00 CLIPPER NOEXIT ;
     TITLE cTitle ; 
     ICON oIcon ;
     AT 0,0 ;
     STYLE WS_POPUP+WS_CAPTION+DS_CENTER+WS_SYSMENU ;
     SIZE GetDesktopWidth(), GetDesktopHeight() - 50 ;
     ON EXIT {|| IIF(Answer( 2, "Deseja sair do programa ?")=1,.T., .F.) }

lSistemaON := .T.

@ 070,050 SAY oLabelR CAPTION "Importação" ;
          FONT oFontMenu ;
          STYLE SS_NOTIFY+WS_TABSTOP  SIZE 219,35 ;
          ON INIT {|| oBut1:SETFOCUS() }

// MENU POR BOTÕES
@ 070,080 BUTTON oBut1 CAPTION "&Importação NF-e"  STYLE WS_BORDER+SS_NOTIFY  ON CLICK {|| msginfo("importação") }  SIZE 220,40 //;
//          ON INIT {|| oBut1:setfocus(),keyb_event(40),keyb_event(40),keyb_event(38)}
@ 070,120 BUTTON "&Limpeza"              STYLE WS_BORDER+SS_NOTIFY  ON CLICK {|| msginfo("limpeza")  }  SIZE 220,40
@ 070,160 BUTTON "&Parâmetros"           STYLE WS_BORDER+SS_NOTIFY  ON CLICK {|| msginfo("parametros")  }  SIZE 220,40
@ 070,200 BUTTON "&Escolher Empresa"     STYLE WS_BORDER+SS_NOTIFY  ON CLICK {|| msginfo("empresa") }  SIZE 220,40
// MENU WINDOWS
Desenha_menu('oMenu00')

 // TELA SPLASH  
//SPLASH oSplash TO "LOGO1" FROM RESOURCE TIME 800

@ 10,GetDesktopHeight() - 120 SAY oMenuE CAPTION eMenu OF oMenu00  COLOR x_DARKBLUE  SIZE 500,20

@ GetDesktopWidth()-220,GetDesktopHeight() - 120 SAY oMenuV CAPTION vMenu OF oMenu00 COLOR x_DARKBLUE  SIZE 210,20

@ 0,GetDesktopHeight() - 100 SAY oLabelRH CAPTION cLabelRH OF oMenu00 ;
    STYLE WS_BORDER ;
    COLOR x_BLACK ;
    SIZE GetDesktopWidth()-5,20

ACTIVATE DIALOG oMenu00


//FTELA99(PEMPRESA)
CLOSE DATABASES

RETURN nil



STATIC FUNCTION MenuSobre()
RETURN Nil



// MENU PRINCIPAL - CHAMADO PELOS BOTÕES - RECONSTRÓI
FUNCTION Desenha_Menu(Nome_Menu)
MENU OF &Nome_menu
     MENUITEM '   Importação NF-e   '                                         ACTION ""
     MENUITEM '   Limpeza   '                                                 ACTION ""
     MENU TITLE '   Help'
          MENUITEM 'Manual'                                                   ACTION ""
          MENUITEM 'Sobre'                                                    ACTION ""
     ENDMENU 
ENDMENU 
RETURN .T.

Re: Mensagem de erro

Enviado: 17 Jun 2010 17:18
por clebervn
o q deveria fazer....

por foco no primeiro botão assim q entrasse.

ao sair de uma rotina (botão), voltar foco para o botão escolhido.

somente isso ja resolveria grande parte dos meus problemas.

abc

Re: Mensagem de erro

Enviado: 17 Jun 2010 17:38
por sygecom
Aqui foi só mudar de BUTTON para BUTTONEX que deu certo, e isso é fácil de mudar em todo um sistema se tens um editor para subsistir palavras, não precisa mudar nada nos outros comandos.

Re: Mensagem de erro

Enviado: 17 Jun 2010 17:45
por clebervn
OK, VOU TENTAR, OBG POR ENQTO.....

por favor se puder, me envia o programa q te enviei e vc alterou e o executavel gerado..

pode enviar para clebervn@gmail.com ou cleber@softlogic.com para q eu possa comparar aqui.

obg

Re: Mensagem de erro

Enviado: 18 Jun 2010 00:37
por esbasso
se voce quer foco nos botoes tem de por o STYLE WS_TABSTOP E REMOVER STYLE WS_BORDER+SS_NOTIFY

@ 070,120 BUTTON "&Limpeza" STYLE WS_TABSTOP ON CLICK {|| msginfo("limpeza") } SIZE 220,40

Re: Mensagem de erro

Enviado: 18 Jun 2010 09:12
por clebervn
Show de bola esbasso, funcionou direitinho... eu jurava q eu tinha posto ws_tabstop, nem vi esse detalhe.... vlw mesmo.

Obg tb leonardo pela força inicial, pq suas dicas tb funcionaram.

Abc.. tudo resolvido

Re: Mensagem de erro

Enviado: 18 Jun 2010 10:28
por Maligno
sygecom escreveu:Aqui foi só mudar de BUTTON para BUTTONEX que deu certo, e isso é fácil de mudar em todo um sistema se tens um editor para subsistir palavras, não precisa mudar nada nos outros comandos.
Mas cuidado com esse tipode troca. Se já houver algum BUTONEX, na troca automática você acabará com algum BUTTONEXEX. É melhor, antes da troca, procurar por algum BUTTONEX pré-existente.