Coletor de dados
Moderador: Moderadores
Coletor de dados
Caros colegas, após migrar meu sistema clipper p/ xharbour+minigui (console), deparei-me com o seguinte: utilizo um coletor de dados (www.colleter.com.br), e eles somente tem a lib p/ clipper e dll p/ VB e Delphi. Mandei p/ eles um demo do Gambeta sobre insc. estadual (dll de delphi que funciona com o xharbour), p/ ver se adiantava. Alguém teria uma dica p/ eu passar p/ eles sobre a integração de xharbour com dll, ou essa integração já é um dispositivo comum do xharbour? Tô parado, pois quando tentei deixar o coletor de dados no clipper, começou a dar problemas de cdx. Obrigado à todos.
Leandro
São Lourenço - MG
Leandro
São Lourenço - MG
- momente
- Usuário Nível 3

- Mensagens: 496
- Registrado em: 03 Mar 2005 11:53
- Localização: São Carlos-SP
- Contato:
Amigo Leandro2C,
Como funciona e seu coletor de dados?
Valeu? :)Pos
Como funciona e seu coletor de dados?
Valeu? :)Pos
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Olá amigo,
Uma forma simples de se acessar DLL com xHarbour é usando a biblioteca WHAT32.LIB. Com ela você insere no seu programa qualquer DLL 32 bits como se fosse uma LIB :=))
Exemplo usando Win API:
Neste trecho importei a função FindWindow da USER32.DLL do Windows direto pra dentro do meu sistema :=))
Para usar a WHAT32.DLL você precisa baixar o pacote CONTRIB do xHarbour e compila-la.
Boa sorte!
Uma forma simples de se acessar DLL com xHarbour é usando a biblioteca WHAT32.LIB. Com ela você insere no seu programa qualquer DLL 32 bits como se fosse uma LIB :=))
Exemplo usando Win API:
Código: Selecionar todos
STATIC USER32
USER32 := LoadLibrary("USER32")
IMPORT USER32 FUNCTION HWND FindWindow( LPCTSTR lpClassName, LPCTSTR lpWindowName ) as FindWindow
FreeLibrary("USER32")
Para usar a WHAT32.DLL você precisa baixar o pacote CONTRIB do xHarbour e compila-la.
Boa sorte!
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Amiguinho
Os exemplos para uso da biblioteca também estão em VB?
Me envia para eu dar uma olhada
Os exemplos para uso da biblioteca também estão em VB?
Me envia para eu dar uma olhada
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Caros colegas, obrigado pela atenção.
Luiz, já pensei em fazer a ponte, acontece que tenho que atulizar outros dbfs,
e nesse momento dá problema na gravação dos mesmos.
Momente, funciona da seguinte maneira: no servidor, fica um executável que
trabalha com um loop contínuo, capturando dos coletores que são ligados num
hub próprio, como disse anteriormente, em clipper é fácil.
Stanis, na linha 43 dá o erro "syntax error at xpcom1". Abaixo o código.
Rochinha, seguiu p/ seu email os dados.
#include "minigui.ch"
Function Main
public recb,canal,cnj
recb:=spac(50)
canal:=0
cnj:=0
DEFINE WINDOW Form1 ;
AT 0,0 ;
WIDTH 340 ;
HEIGHT 200 ;
TITLE "Teste " ;
MAIN
@ 40,210 BUTTON Button1 CAPTION "Verificar" ;
ON CLICK VerificarIE() ;
TOOLTIP ""
END WINDOW
CENTER WINDOW Form1
ACTIVATE WINDOW Form1
Return
Static Function VerificarIE()
x:=ENVBEEP(0,0,1)
if x=1
msginfo('Retornado')
else
msginfo('Nao retornado')
endi
Form1.Button1.SetFocus
Return Nil
static function Envbeep
xpcom1 := LoadLibrary("xpcom1")
* aqui d o erro
import xpcom1 function hwnd EnvBeep(LPCTSTR lpClassName, LPCTSTR lpWindowName ) as EnvBeep
freelibrary("xpcom1")
Luiz, já pensei em fazer a ponte, acontece que tenho que atulizar outros dbfs,
e nesse momento dá problema na gravação dos mesmos.
Momente, funciona da seguinte maneira: no servidor, fica um executável que
trabalha com um loop contínuo, capturando dos coletores que são ligados num
hub próprio, como disse anteriormente, em clipper é fácil.
Stanis, na linha 43 dá o erro "syntax error at xpcom1". Abaixo o código.
Rochinha, seguiu p/ seu email os dados.
#include "minigui.ch"
Function Main
public recb,canal,cnj
recb:=spac(50)
canal:=0
cnj:=0
DEFINE WINDOW Form1 ;
AT 0,0 ;
WIDTH 340 ;
HEIGHT 200 ;
TITLE "Teste " ;
MAIN
@ 40,210 BUTTON Button1 CAPTION "Verificar" ;
ON CLICK VerificarIE() ;
TOOLTIP ""
END WINDOW
CENTER WINDOW Form1
ACTIVATE WINDOW Form1
Return
Static Function VerificarIE()
x:=ENVBEEP(0,0,1)
if x=1
msginfo('Retornado')
else
msginfo('Nao retornado')
endi
Form1.Button1.SetFocus
Return Nil
static function Envbeep
xpcom1 := LoadLibrary("xpcom1")
* aqui d o erro
import xpcom1 function hwnd EnvBeep(LPCTSTR lpClassName, LPCTSTR lpWindowName ) as EnvBeep
freelibrary("xpcom1")
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Certo,Leandro2C escreveu:xpcom1 := LoadLibrary("xpcom1")
* aqui d o erro
import xpcom1 function hwnd EnvBeep(LPCTSTR lpClassName, LPCTSTR lpWindowName ) as EnvBeep
freelibrary("xpcom1")
O caminho é mais ou menos este aí mesmo, mas veja, você simplesmente copiou a chamada da função que eu postei como exemplo...
Você precisa na verdade saber como é a chamada a esta função em especial, se é para VB deve seguir os mesmos moldes, porém os TIPOS de dados provavelmente não são estes.
Imagine que você tem uma função em Clipper que está dentro de uma DLL.
Código: Selecionar todos
function soma( a, b )
return a+bEm C (como é a maioria das DLLs) você ja declararia definindo os tipos:
Código: Selecionar todos
int function soma( int a, int b )
....Código: Selecionar todos
MinhaDLL := LoadLibrary("MinhaDLL")
import MinhaDLL function int Soma(int a, int B ) as Soma
freelibrary("MinhaDLL")É por aí...
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Amiguinho Stanis
Voce criou alguma DLL para Harbour?
Voce faz as chamadas as funções da DLL via What32?
Depois que c sarou c melhorou?
Voce tem a What32.LIB ai e pode me mandar?
Obrigado
Voce criou alguma DLL para Harbour?
Voce faz as chamadas as funções da DLL via What32?
Depois que c sarou c melhorou?
Voce tem a What32.LIB ai e pode me mandar?
Obrigado
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Opa,
Rochinha, não criei nenhuma DLL não, apenas estava exemplificando o acesso às funções, que é bem simples desta forma mesmo com a WHAT32.
Eu tenho aqui a WHAT32.LIB gerada com xHarbour .97, mas só vai funcionar se o seu xHarbour também for este... Se não for você precisará compila-la, ela vem no pacote contribute disponível em www.xharbour.org.
Se você usa o .97 mesmo, me dá um alô que eu já te envio compilada, assim você poupa o 'trabalho sujo'... hehehe
Pois é cara, eu to um pouco melhor mas ainda to meio mal... Mas de qualquer forma estamos aí!
Falou!
Rochinha, não criei nenhuma DLL não, apenas estava exemplificando o acesso às funções, que é bem simples desta forma mesmo com a WHAT32.
Eu tenho aqui a WHAT32.LIB gerada com xHarbour .97, mas só vai funcionar se o seu xHarbour também for este... Se não for você precisará compila-la, ela vem no pacote contribute disponível em www.xharbour.org.
Se você usa o .97 mesmo, me dá um alô que eu já te envio compilada, assim você poupa o 'trabalho sujo'... hehehe
Pois é cara, eu to um pouco melhor mas ainda to meio mal... Mas de qualquer forma estamos aí!
Falou!
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.

