Jump to content
Fivewin Brasil

Eroni

Membros
  • Posts

    561
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by Eroni

  1. Oi João, segue o teu JIMMYSKI.PRG:

     

    // C:\FWH..\SAMPLES\JIMMYSKI.PRG
    
    #Include "FiveWin.ch"
    
    
    //STATIC oBar, oGrid, oWnd, nWidth := 50
    
    STATIC oButton
    
    FUNCTION Main()
       LOCAL oWnd//,oButton
       LOCAL cSource := GetAppName()
       // LOCAL cSource := GetModuleFileName( GetInstance() ) // Name .EXE
       LOCAL cPath, cFile
    
       PUBLIC cDirPleno
       PUBLIC XRESOLUCAO, XSINALSONOR //= [S]
    //   PUBLIC WFLAGCONTABIL // := .F.
    //   PUBLIC WFLAGPLENO    // := ""
    //   PUBLIC WFILIAL       // := .F.
    
    
       // IF PCOUNT() > 0    // ??
       IF GetActive() == Nil
          SkinButtons()
       ENDIF
    
       cPath := Pathonly( cSource )  // // MsgInfo( GETCURDIR() )
       cFile := Fileonly( cSource )
    
       DEFINE WINDOW oWnd TITLE "FiveWin SkinButtons Demo"
    
       @ 10, 10 BUTTON oButton PROMPT "Property" SIZE 74, 42 PIXEL ACTION SHOWFILEPROPERTIES( oWnd:Hwnd, cPath, cFile )
    
       ACTIVATE WINDOW oWnd CENTERED 
    
       oButton := nil
      
    
    RETURN NIL
    
    FUNCTION GetAppName()
    RETURN GetModuleFileName( GetInstance() )
    
    FUNCTION Pathonly( cFull )
    
       LOCAL cRet := "" //     // ERROR Chinese Char?
       LOCAL nPosi
    
       nPosi := RAT( "\", cFull )
    
       IF nPosi > 0
          cRet := SUBSTR( cFull, 1, nPosi - 1 )
       ENDIF
    
    RETURN( cRet )
    
    FUNCTION Fileonly( cFull )
    
       LOCAL cRet := "" //    // ERROR Chinese Char?
       LOCAL nPosi
    
       nPosi := RAT( "\", cFull )
       IF nPosi > 0
          cRet := SUBSTR( cFull, nPosi + 1 )
       ENDIF
    
    RETURN cRet
    
    #pragma BEGINDUMP
    
    #include <windows.h>
    #include <commctrl.h>
    #include <dbt.h>
    #include <hbapi.h>
    #include <hbapiitm.h>
    #include <shellapi.h.>
    
    HB_FUNC( SHOWFILEPROPERTIES )
    {
       #ifndef _WIN64
          HWND hWnd = ( HWND ) hb_parnl( 1 );
       #else
          HWND hWnd = ( HWND ) hb_parnll( 1 );
       #endif
    
       SHELLEXECUTEINFO SHExecInfo;
       ZeroMemory(&SHExecInfo, sizeof(SHExecInfo));
       SHExecInfo.cbSize       = sizeof(SHExecInfo);
       SHExecInfo.fMask        = SEE_MASK_INVOKEIDLIST;
       SHExecInfo.lpVerb       = "Properties";
       SHExecInfo.lpDirectory  = hb_parc(2);
       SHExecInfo.lpFile       = hb_parc(3);
       SHExecInfo.nShow        = SW_SHOW;
       SHExecInfo.hwnd         = hWnd;
    
       ShellExecuteEx(&SHExecInfo);
    }
    
    #pragma ENDDUMP
    
    // fin / end
    

    Compilado com xHarbour 1.3.0 Intl. (SimpLex) (Build 20231104)

     

    Regards


     

  2. 1 hora atrás, kapiaba disse:
    Eroni, se eu ENTENDI, não posso fazer isso? DECLARAR as minhas VARIÁVEIS para poder usar o /W3? És esto?
    
    [code]
    #Include "Ambienty.ch"
    
    REQUEST HB_LANG_PT
    REQUEST HB_CODEPAGE_PT850 // PARA INDEXAR CAMPOS ACENTUADOS
    
    ANNOUNCE RDDSYS // IDEM: ANNOUNCE FPTCDX
    REQUEST OrdKeyNo, OrdKeyCount, OrdCreate, OrdKeyGoto // Para ListBox
    REQUEST DBFCDX, DBFFPT
    
    STATIC oWnd, oMenu, oFont2, oFontGr
    STATIC oFont, nHFont, cFont, nWFont, cFontH, oBrush, oFnt
    
    STATIC lBarAllwaysTop := .T. // only for test purpose. if .t. show all bars on top
    STATIC lImageSelect   := .F. // only for test purpose. if .t. show red or green dot
    STATIC lCloseWin      := .F.
    STATIC hLib
    
    FUNCTION Main()
    
       LOCAL oFont, oIco, oBar, oHand, oBmp, oIndex, hBmp
    
       PUBLIC cDirPleno
       PUBLIC XRESOLUCAO, XSINALSONOR //= [S]
       PUBLIC WFLAGCONTABIL := .F.
       PUBLIC WFLAGPLENO    := ""
       PUBLIC WFILIAL       := .F.
    
    ...
    
    RETURN NIL
    [/code]
    
    Tks,
    
    Regards, saludos.

     

    João, não foi isso que eu disse. você DEVE declarar TODAS as variáveis que vai usar. Com este flag não deixa atribuir AO FAZER  a declaração.

    Regards.

  3. Bom dia João, 

    Qual o problema?

    Segue um exemplo:

    Harbour.Exe Source\CTRel17.prg  /m /n /gc0 /w3 /es2 /iInclude;D:\Tools\FWH1709\include;D:\Tools\LIB\xHb123_Fwh1709\Include /iD:\Tools\xHarbour_123_BCC72\Include /qo /oObj\CTRel17.c
     

    Funciona bem. Acho que não tolera variáveis declaradas e não usadas e vice versa. Também não deve tolerar variáveis que foram declaradas já com valor e atribuídas mais tarde. 

    Enfim, faz muitos anos (mais de 10) que fiz a mudança e na época tive que revisar todos os fontes. Mas valeu a pena.

    Abraço.

  4. Neste caso, acredito que seja a sua dll desatualizada. Para evitar isso, geralmente, na instalação e configuração do mysql, ao invés de usar a forma de autenticação "Use Strong Password Encryption.........", use a outra opção "Use Legacy Authentication........" se não me engano. Não tenho como ter imagens agora porque só rodando a instalação. Mas é em "Authentication Method".

  5. Bom dia.

    Não uso nenhuma destas versões nem Five nem Mysql, mas pelo que aprendi, não existe razão para qualquer versão de aplicativo feito em Fivewin não acessar qualquer versão do Mysql.

    Geralmente em instalação local a primeira coisa que incomoda é o firewall. Verifique também se o usuário do mysql está autorizado a se logar em localhost. Ou na conexão com o mysql ao invés de usar localhost use 127.0.0.1. Mas eu começaria pelo firewall.

    Abraço.

  6. Boa tarde,

    Eu também tive o mesmo problema ao migrar de um servidor que usava Windows para um Linux. O problema destes servidores com Linux é que sempre usam uma versão muito antiga do Mysql, pré Oracle. Eu tive que mudar bastante coisa no sistema por causa disso. O Mysql na versão 8 mudou muito e infelizmente não consegui nenhum serviço de nuvem que tivesse ele.

    A solução seria colocar a data atual ali, ou seja, mexer no fonte.

    Att.

    ERoni

  7. 3 minutos atrás, EDUTEK disse:

    No caso para sair do SQLRDD qual a melhor opção ?

    acesso Oracle, SQL Server e Mysql simultaneamente no mesmo aplicativo.

    alguém teria algum exemplo, pois meu sqlrdd já e antiga a versão , tenho medo de não funcionar mais mais para frente.

    isso ja migrando para Harbour 3.2

     

    Bom dia. Migrei faz um tempo para o FW MYSQL/MARIADB funciona tanto para Harbour como para xharbour foi a melhor coisa que já fiz. Continuo usando o MySql de forma nativa.

    http://fivetechsoft.com/forums/viewtopic.php?f=3&t=33286

    Boa documentação e exemplos.

    Att.

    Eroni

  8. Bom dia.

    Tenho uma rotina parecida, em que o sistema fica monitorando o banco de dados para verificar se é necessário desconectar o usuario.

    Criei um timer que é visivel na aplicação inteira. ( Minha janela principal é um objeto publico.. ) e em um determinado intervalo de tempo o select é executado.

    Se não me engano é a cada 30 segundos que o select é executado, sendo que o retorno é sempre de 1 registro.

    Espero ter ajudado, qualquer coisa estamos ao dispor.

    Abraço.

×
×
  • Create New...