Página 1 de 1

FindWindow e BringWindowtoTop não encontradas...

Enviado: 09 Ago 2010 17:07
por fladimir
Olá pessoal, compilando a Agenda Exemplo em HWGUI do Sygecom com Harbour 2.1.0 (beta2) e MSVC esta apresentando erro Faltando FindWindow e BringWindowToTop

Código: Selecionar todos

hbmk2 -oagenda -lhwgui -lprocmisc -lhwg_qhtm -lxhb -lhbwin -lhbct -lhbnf *.prg
Qual lib tem elas? O q faltou na linha q usei pra compilar?

Código: Selecionar todos

C:\TESTES~1\hwgui\exemplos_hwgui\agenda>hbmk2 -oagenda -lhwgui -lprocmisc -lhwg_qhtm -lxhb -lhbwin -lhbct -lhbnf *.prg
Harbour 2.1.0beta2 (Rev. 15281)
Copyright (c) 1999-2010, http://harbour-project.org/
Compiling 'agenda.prg'...
Lines 8187, Functions/Procedures 32
Generating C source output to 'C:\DOCUME~1\Familia\CONFIG~1\Temp\hbmk_ailaqm.dir\agenda.c'... Done.
Compiling 'reL.prg'...
Lines 9039, Functions/Procedures 1
Generating C source output to 'C:\DOCUME~1\Familia\CONFIG~1\Temp\hbmk_ailaqm.dir\reL.c'... Done.
agenda.c
reL.c
Generating Code...
agenda.obj : error LNK2001: unresolved external symbol _HB_FUN_FINDWINDOW
agenda.obj : error LNK2001: unresolved external symbol _HB_FUN_BRINGWINDOWTOTOP
agenda.exe : fatal error LNK1120: 2 unresolved externals
hbmk2: Error: Running linker. 1120
link.exe -nologo -out:agenda.exe C:\DOCUME~1\Familia\CONFIG~1\Temp\hbmk_ailaqm.dir\agenda.obj C:\DOCUME~1\Familia\CONFIG~1\Temp\hbmk_ailaqm.dir\reL.obj -libpath:d:\dev\harbour\lib -libpath:d:\dev\harbour\bin  -subsystem:console hwgui.lib procmisc.lib hwg_qhtm.lib xhb.lib hbwin.lib hbct.lib hbnf.lib hbextern.lib hbdebug.lib hbvm.lib hbrtl.lib hblang.lib hbcpage.lib gtcgi.lib gtpca.lib gtstd.lib gtwin.lib gtwvt.lib gtgui.lib hbrdd.lib hbuddall.lib hbusrrdd.lib rddntx.lib rddcdx.lib rddnsx.lib rddfpt.lib hbrdd.lib hbhsx.lib hbsix.lib hbmacro.lib hbcplr.lib
hbpp.lib hbcommon.lib kernel32.lib user32.lib gdi32.lib advapi32.lib ws2_32.lib winspool.lib comctl32.lib comdlg32.lib shell32.lib uuid.lib ole32.lib oleaut32.lib mpr.lib winmm.lib mapi32.lib imm32.lib msimg32.lib wininet.lib hbpcre.lib hbzlib.lib
Sds.
Sucesso!!!

Re: FindWindow e BringWindowtoTop não encontradas...

Enviado: 09 Ago 2010 18:48
por Toledo
Fladimir, estas funções estão em GTWVG.LIB.

Abraços,

Re: FindWindow e BringWindowtoTop não encontradas...

Enviado: 09 Ago 2010 20:21
por fladimir
Fladimir, estas funções estão em GTWVG.LIB.
Tem certeza Toledo, pois linkei junto e permanece o erro...

Sds.

Sucesso!!!

:)Pos

Re: FindWindow e BringWindowtoTop não encontradas...

Enviado: 09 Ago 2010 21:44
por esbasso
Substitua por:
HWG_FindWindow
HWG_BringWindowToTop

Re: FindWindow e BringWindowtoTop não encontradas...

Enviado: 09 Ago 2010 21:45
por Toledo
Veja um exemplo:

Código: Selecionar todos

Function Main()

LOCAL hWnd
If ( hWnd:= SeekCalculadora() ) == 0
 WinExec( 'Calc.Exe', 1 )
Else
 hwg_BringWindowToTop( hWnd )
 ShowWindow( hWnd, 9 )
EndIf
return Nil

// ------------------------------------------------------------------ //
STATIC Function SeekCalculadora()
LOCAL aCaptions:= {'Calc','Calculator','Calculadora'}
LOCAL nPos, hWnd
For nPos = 1 to Len(aCaptions)
 If ( hWnd:= hwg_FindWindow( 0, aCaptions[nPos] ) ) > 0
  return hWnd
 EndIf
Next
return hWnd
/*Função: Rochinha */

Re: FindWindow e BringWindowtoTop não encontradas...

Enviado: 10 Ago 2010 22:45
por fladimir
Pessoal obrigado pela atenção, mas qdo me referi a FindWindow e BrinWindotoTop é da chamada do codigo abaixo, pelo q vi ja eh do HWGUI vejam:

Código: Selecionar todos

...
IF ( hWnd := Hwg_FindWindow( oJanela,"Sistema de Agenda de Contatos" ) ) != 0
   Hwg_SetForegroundWindow( hWnd )
   Return
ENDIF
...

...
If ( hWnd := SeekCalculadora() ) == 0
   WinExec( 'Calc.Exe', SW_NORMAL )
Else
   BringWindowToTop( hWnd )
   ShowWindow( hWnd, SW_RESTORE )
Endif
O q sera q ta faltando pois conforme podem observar estou linkando aparentemente as libs da hwgui q seriam para as funçoes acima...

Sds.

Sucesso!!!
:)Pos

Re: FindWindow e BringWindowtoTop não encontradas...

Enviado: 11 Ago 2010 07:09
por Toledo
Fladimir, no seu código acima você já trocou FindWindow() por Hwg_FindWindow(), mas continua usando BringWindowToTop(), ao invés de Hwg_BringWindowToTop().

Quando você compila seu código agora, a mensagem de erro continua a mesma?

Abraços,

Re: FindWindow e BringWindowtoTop não encontradas...

Enviado: 11 Ago 2010 23:51
por sygecom
Olá Fladimir,
Essas funções foi usada da Fivec.lib, mas como os colegas acima já falaram pode ser subistituida pelas funções da Hwgui ou pela WHAT32.LIB(xHarbour)

Re: FindWindow e BringWindowtoTop não encontradas...

Enviado: 12 Ago 2010 22:13
por fladimir
Toledo escreveu:Fladimir, no seu código acima você já trocou FindWindow() por Hwg_FindWindow(), mas continua usando BringWindowToTop(), ao invés de Hwg_BringWindowToTop().
Verdade Toledo, obrigado pela observação, mas mesmo após ter corrigido apareceu um erro dizendo q não encontrava a função Show(...) abaixo do HWG_BringWindowToTop():

Código: Selecionar todos

   HWG_BringWindowToTop( hWnd )
   Show( hWnd, SW_RESTORE )
Vc sabe onde se encontra esta função?
sygecom escreveu:Olá Fladimir,
Essas funções foi usada da Fivec.lib, mas como os colegas acima já falaram pode ser subistituida pelas funções da Hwgui ou pela WHAT32.LIB(xHarbour)
Pra q é mais utilizado essas libs e vc teria elas compiladas em Harbour ou os fontes pra eu compilar?

Sds.

Sucesso!!!!

:)Pos

Re: FindWindow e BringWindowtoTop não encontradas...

Enviado: 12 Ago 2010 22:24
por Toledo
fladimir escreveu:apareceu um erro dizendo q não encontrava a função Show(...)
O correto é:

Código: Selecionar todos

ShowWindow( hWnd, SW_RESTORE )
Abraços,

Re: FindWindow e BringWindowtoTop não encontradas...

Enviado: 13 Ago 2010 10:57
por fladimir
Corretissimo Toledo...

Funcionou 100%

Obrigado aos demais colegas tb....

Uma pequena dúvida pós-resolução, rsrs, onde tem o manual dessas funçoes q os colegas citaram?

O Leonardo menciou q utilizou a Lib Fivec.lib Quais as utilidades dela? Alguém conhece ?

Sucesso!!!!

Re: FindWindow e BringWindowtoTop não encontradas...

Enviado: 06 Set 2010 12:09
por sygecom
fladimir escreveu: O Leonardo menciou q utilizou a Lib Fivec.lib Quais as utilidades dela? Alguém conhece ?
Olá Fladimir,
Essa LIB é fa Fivewin e tem algumas funções que da para usar sem precisar está programando em Fivewin, é uma LIB 100% em C, no meu caso uso em particular para comunicação serial, mas em breve vou está mudando para as funções nativa do Harbour que já testei e ficaram muito boa.