Página 1 de 1
Harbour 3.4 e tooltip
Enviado: 10 Jul 2014 17:21
por JoséQuintas
Mudança recente no Harbour 3.4, em 08/07.
* package/harbour.mft
+ request MS Windows Common Controls 6.0.0.0
The wonders of the Windows API:
https://stackoverflow.com/questions/254 ... showing-up
See:
https://groups.google.com/d/topic/harbo ... discussion
Practically every Windows GUI app (including GTWVG/GTWVW) must include
this manifest directive. Currently Harbour (hbmk2) doesn't add it
automatically when producing executables, but hbrun/hbmk2 scripts now
have it enabled.
(this explains why 'dlg.mft' and 'wvwtest9.mft' existed)
Se olharem o segundo link, é minha repostagem de um problema na tooltip da gtwvg, que vém desde 11/2013.
Isso foi em 08/07 e a postagem em 07/07.
Ao mesmo tempo que gostei de ver isso, fiquei chateado de não ver nada na versão oficial.
https://github.com/vszakats/harbour-cor ... b9cb315425
Nota:
Apesar de ver isso, ainda não sei o que teria que alterar aqui, sem trocar pra versão 3.4.
Vou tentar compilar novamente a 3.4 depois de atualizar o mingw pra ver o que acontece.
De qualquer jeito, estranho não precisar disso no mingw 4.6.1.
Harbour 3.4 e tooltip
Enviado: 10 Jul 2014 17:29
por JoséQuintas
Nota: ao postar aqui no fórum os links diretamente, sem a tag de url, eles ficam com ... e na edição os links se perdem.
Harbour 3.4 e tooltip
Enviado: 10 Jul 2014 18:00
por JoséQuintas
Chutei aqui. Criei o arquivo jpa.exe.manifest
Código: Selecionar todos
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
</dependentAssembly>
</dependency>
</assembly>
A mudança na tela foi esta, dá pra perceber no mínimo o contorno dos botões.
Coloquei o conteúdo de harbour.mft do 3.4 no harbour_win.mft do 3.2 e recompilei.
Não sei se dá pra incluir isso no resource, senão vou ter que enviar esse arquivo junto com o EXE (ou criar e recarregar o EXE).
Harbour 3.4 e tooltip
Enviado: 10 Jul 2014 18:45
por JoséQuintas
Encontrei este texto.
http://blogs.msdn.com/b/cheller/archive ... -ways.aspx
Já embuti o manifest dentro do EXE usando o arquivo de resource.
Código: Selecionar todos
#define RT_MANIFEST 24
#define APP_MANIFEST 1
APP_MANIFEST RT_MANIFEST "resource\\jpa.exe.manifest"
Funcionou em mingw e msvc2010.
Esse \\ é porque está em outra pasta. Com uma única barra só funciona no msvc, mas com duas funciona tanto em msvc quanto em mingw pra indicar pasta.
Harbour 3.4 e tooltip
Enviado: 10 Jul 2014 18:56
por Itamar M. Lins Jr.
Ao mesmo tempo que gostei de ver isso, fiquei chateado de não ver nada na versão oficial.
Provavelmente o Przmek irá adicionar na versão oficial.
O fork do Viktor é muito movimentado por ele. O oficial está sendo atualizado mais lentamente.
O Pritpal Bedi tinha um script do hbmk2 para o HBQT bem velho desde 2011, que o Viktor criou depois ele teve que atualizar novamente, porque o Pritpal admitiu que não entende muito dessa parte.
Código: Selecionar todos
It's a 2 minutes fix in QtContribs (with all the required details included for this search and replace modification in the commit harbour@acbd419), which is compatible with mainstream Harbour too. It will also be required once Harbour finally makes a release and turns off HB_LEGACY_LEVEL4 like I did already in this fork. Of course this may never happen, so it is possible that mainstream Harbour users will be able to happily use all the things deprecated in 2011. Why change, right?
Um dos problemas é a preguiça ou falta de tempo que impedem as coisas de irem mais rápido.
happily use all the things deprecated in 2011.
Enquanto o fork do Viktor já ativou o LEVEL 5 o Harbour oficial ainda no LEVEL 3
Traduzindo:
A função RecCount() por exemplo não mais existe no fork do Viktor.
* TODBC():RecCount() method deprecated with HB_LEGACY_LEVEL4
Use indentical TODBC():LastRec() instead
* use LastRec() instead of RecCount() (latter was deprecated in C5.x)
Temos que acompanhar para não ficar p/ trás.
Saudações,
Itamar M. Lins Jr.
Harbour 3.4 e tooltip
Enviado: 10 Jul 2014 19:19
por JoséQuintas
Uma coisa interessante que o Viktor faz é isso, tá sempre revendo os fontes.
É só olhar o link acima, das alterações, pra ver que ele não apenas acrescenta coisas, mas dá uma pequena geral no fonte.
Qualquer dia tento compilar novamente o fork dele.
Esta tooltip estava me impedindo de usar o msvc 2010, que linquedita muuuuito mais rápido.
Também tinha o dos error 64 que surgiu.
É ir resolvendo o que aparece... e o que a Microsoft inventa de modificar...
Harbour 3.4 e tooltip
Enviado: 10 Jul 2014 22:09
por Nascimento
amigo JoseQuincas eu sempre tive a curiosidade de saber porque a oficial esta ainda no 3.0 e o do Viktor mais adiantado
qual a diferença entre eles é outra equipe?
Harbour 3.4 e tooltip
Enviado: 11 Jul 2014 00:22
por JoséQuintas
Por algum motivo o Viktor deixou a equipe oficial.
Depois começou a mexer numa versão em separado, pra seguir suas próprias regras.
Pra diferenciar a versão da oficial, usou 3.4.
Minha opinião é que talvez até a versão 3.4 tudo volte a ser uma única versão, mas isso é apenas suposição.
Até lá, no mínimo duas versões do Harbour (se não me engano já apareceu outra).
Harbour 3.4 e tooltip
Enviado: 11 Jul 2014 02:17
por Jairo Maia
Pois é! Isto parece religião. Quando todos pensam que a coisa está caminhando com estabilidade, outro pastor cria uma nova denominação.
Talvez por essa e por outras, [x]Harbour perde cada vez mais a credibilidade, e não consegue se estabelecer como uma linguagem confiável.
xHarbour, Harbour, Harbour fork, e qual a próxima? Será Harbour knife?
Parece que novamente estamos a deriva... Agora é esperar para ver a direção que os ventos vão nos levar...
Harbour 3.4 e tooltip
Enviado: 11 Jul 2014 08:10
por JoséQuintas
Harbour Fork é um termo, pra dizer que é derivada do Harbour.
Eu diria que o Viktor apenas está no cantinho dele, mexendo na versão dele, não lançou como outra versão.
Se o pessoal do Harbour quiser integrar, é só usar os fontes e atualizar o oficial.
A oficial 3.2 tá funcionando bem.
Estou apenas curioso, mas até agora não consegui gerar o Harbour do Viktor.
É que trocar a versão do mingw, mesmo para o msvc2010, trazia problemas para a tooltip da gtwvg.
Quando der, vou testar de novo, mas tem umas urgências pra resolver.
Harbour 3.4 e tooltip
Enviado: 11 Jul 2014 18:29
por Itamar M. Lins Jr.
Com o uso do GIT ter uma versão do Harbour ficou menos complicado.
Todas a modificações do Harbour oficial que é a 3.2 está no Harbour 3.4 do Viktor. Agora cabe ao responsável do Harbour oficial adotar ou não as modificações do Harbour 3.4.
É um tronco com alguns galhos. Pode se ficar no principal e pode aventurar-se nos galhos.
O mantenedor do Harbour(core) principal copiou muitas modificações do Viktor dia desses.
Eu achei bom, de uma certa forma as pessoas ficam mais livres, e os donos de empresas comerciais ficam mais tranquilos.
Saudações,
Itamar M. Lins Jr.
Harbour 3.4 e tooltip
Enviado: 11 Jul 2014 18:55
por JoséQuintas
Voltando aos botões...
Instalei hoje em cliente.
O novo visual não apareceu nas máquinas com XP, somente nas máquinas com Windows 7.
Harbour 3.4 e tooltip
Enviado: 12 Jul 2014 11:10
por fladimir
José pra não fugir do assunto do tópico vc poderia apenas me direcionar a algum link abrangente e q explicasse bem sobre o Manifest q até hj não entendo a utilidade.
Grato
Harbour 3.4 e tooltip
Enviado: 12 Jul 2014 11:54
por JoséQuintas
O Windows assume uma determinada configuração padrão para o EXE.
O arquivo manifest permite modificar esse padrão.
O manifest acima contém sobre windows-common-controls.
Essa é a parte responsável pelos "controles comuns do Windows", como botões, textbox, label, etc.
Por algum motivo, a Microsoft bloqueia recursos nessa versão.
O manifest é por EXE, é comum ver arquivos nome.exe.manifest, mas embutir no EXE fica mais interessante.
Nunca pesquisei sobre o que pode ser feito nele.
Acho que equivale ao antigo arquivo .PIF
Até aqui continua no assunto, porque o manifest é a solução da tooltip.
Corrigindo minha informação anterior: funciona sim no XP
O controle segue a configuração do XP.
No cliente não entrou o novo visual porque o XP está configurado para modo clássico igual W2000, e não pra o default que é visual XP.
Os controles apenas seguem o estilo Windows.