Como usar uma DLL criada em Delphi no xHarbour
Moderador: Moderadores
Como usar uma DLL criada em Delphi no xHarbour
Boa tarde,
Estou criando uma DLL em Delphi e gostaria de usá-la em um programa desenvolvido em xHarbour.
Criei a seguinte rotina no Delphi em uma DLL.
function versao : pChar; Stdcall;
begin
Result := pchar('TESTE DE VERSAO');
end;
Alguém poderia postar um exemplo de como chamar esta rotina no xHarbour?
Também gostaria de um exemplo mostrando como enviar um comando para a DLL.
Ex:
function enviacomando(const Comando : pChar) : integer; Stdcall;
Desde já agradeço,
Estou criando uma DLL em Delphi e gostaria de usá-la em um programa desenvolvido em xHarbour.
Criei a seguinte rotina no Delphi em uma DLL.
function versao : pChar; Stdcall;
begin
Result := pchar('TESTE DE VERSAO');
end;
Alguém poderia postar um exemplo de como chamar esta rotina no xHarbour?
Também gostaria de um exemplo mostrando como enviar um comando para a DLL.
Ex:
function enviacomando(const Comando : pChar) : integer; Stdcall;
Desde já agradeço,
André Ferreira de Moraes
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
- viniciuspc
- Usuário Nível 1

- Mensagens: 40
- Registrado em: 19 Dez 2006 17:18
- Localização: Rio de Janeiro
Como usar uma DLL criada em Delphi no xHarbour
salve anfm, :xau
tambem tive problemas a algumas semanas atras, dê uma olhada em : viewtopic.php?f=4&t=9424
[]´s
tambem tive problemas a algumas semanas atras, dê uma olhada em : viewtopic.php?f=4&t=9424
[]´s
Clipper 5.2e + Blinker 5.10
Harbour 3.0.0 (Rev. 16951) + Microsoft Visual C++ 16.0.40219 (32-bit)
Harbour 3.0.0 (Rev. 16951) + Microsoft Visual C++ 16.0.40219 (32-bit)
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Como usar uma DLL criada em Delphi no xHarbour
Boa noite.
Não manjo de Delphi e por isso não posso dar maiores esclarecimentos, mas um colega desenvolveu uma DLL em Delphi para captura do XML da NFe e utilizo da seguinte forma:
Não manjo de Delphi e por isso não posso dar maiores esclarecimentos, mas um colega desenvolveu uma DLL em Delphi para captura do XML da NFe e utilizo da seguinte forma:
Código: Selecionar todos
Function main
Local handle:= loadlibrary('recxml.dll')
if handle < 1
msginfo('DLL nÆo carregada')
return
endif
dllcall(handle,32,"RecXML")
freelibrary(handle)
returnCompilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
Como usar uma DLL criada em Delphi no xHarbour
:%
Bom dia alaminojunior, será que esse seu colega está comercializando a dll ?
)
Hasa
Bom dia alaminojunior, será que esse seu colega está comercializando a dll ?
Hasa
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Como usar uma DLL criada em Delphi no xHarbour
HASA, envia um email para mim que eu rebato para ele e então vocês tratam do assunto.
Um detalhe é que ele me disse meses atrás que tal recurso não estava mais sendo disponibilizado pelas SEFAZ´s, pois é de lá que ele extrai as informações.
Mas dias atrás eu precisei usar e o arquivo xml foi gerado.
Quem sabe ...
Um detalhe é que ele me disse meses atrás que tal recurso não estava mais sendo disponibilizado pelas SEFAZ´s, pois é de lá que ele extrai as informações.
Mas dias atrás eu precisei usar e o arquivo xml foi gerado.
Quem sabe ...
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
Como usar uma DLL criada em Delphi no xHarbour
Já ouviram falar do RecuperaXML: ACBR
http://www.djsystem.com.br/acbr/forum/v ... xml#p30826
http://www.djsystem.com.br/acbr/forum/v ... xml#p27159
http://www.djsystem.com.br/acbr/forum/v ... cuperarxml
http://www.djsystem.com.br/acbr/forum/v ... f=5&t=5001
M., Ronaldo
by: IMATECH
IMATION TECNOLOGIA
by: IMATECH
IMATION TECNOLOGIA
Como usar uma DLL criada em Delphi no xHarbour
Meu problema está em obter um retorno "legível" pro xHarbour.
Tenho a seguinte função no delphi:
E tentei chamar no xHarbour da seguinte forma:
Mas das duas formas tenho um resultado com caracteres estranhos no xHarbour, se fizer o consumo dessa mesma função num aplicativo em Delphi a resposta é exibida corretamente.
Tenho a seguinte função no delphi:
Código: Selecionar todos
function versao(var Resposta : pansichar ) : integer; Stdcall; export;
begin
Resposta := pansichar('TESTE');
Result := 123;
end;
Código: Selecionar todos
#define DC_MICROSOFT 0x0000 // Default
#define DC_BORLAND 0x0001 // Borland compat
#define DC_CALL_CDECL 0x0010 // __cdecl
#define DC_CALL_STD 0x0020 // __stdcall
#define DC_RETVAL_MATH4 0x0100 // Return value in ST
#define DC_RETVAL_MATH8 0x0200 // Return value in ST
STATIC pComando[9]
FUNCTION Main
LOCAL nRet, pParametro
LOCAL hDLL
LOCAL cData
nRet := space(20)
pParametro := space(20)
pComando[1] := DllPrepareCall( "ioserial.dll", DC_CALL_STD, "versao" )
nRet := DllExecuteCall( pComando[1], @pParametro )
? "versao"
? nRet
? pParametro
hDLL := DllLoad( "ioserial.dll" )
cData := Space( 24 )
DllCall( hDll, NIL, "versao", @cData )
? ">" + cData + "<"
DllUnload( hDLL )
inkey(0)
Return( Nil )
André Ferreira de Moraes
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Como usar uma DLL criada em Delphi no xHarbour
André, tente trocar o 2ª parâmetro da chamada a dll de NIL para 32.
Lembrando ...
Lembrando ...
Código: Selecionar todos
dllcall(handle,32,"RecXML")Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
Como usar uma DLL criada em Delphi no xHarbour
Não foi tbm, sempre recebo como retorno "∟T)"
André Ferreira de Moraes
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
Conheça o Projeto ACBr - Automaçao Comercial Brasil
http://acbr.sourceforge.net
--------------------------------------------------------------------------------------
Fórum Oficial do Projeto ACBr
http://www.djsystem.com.br/acbr/forum
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Como usar uma DLL criada em Delphi no xHarbour
Olá!
Talvez tenha que converter o retorno com a função HB_AnsiToOem( <cANSI_String> ) --> cOEM_String. Ou ajustar a code page com as funções apropriadas (HB_LangSelect(), HB_SetCodePage()), antes de chamar a DLL.
Talvez tenha que converter o retorno com a função HB_AnsiToOem( <cANSI_String> ) --> cOEM_String. Ou ajustar a code page com as funções apropriadas (HB_LangSelect(), HB_SetCodePage()), antes de chamar a DLL.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
Como usar uma DLL criada em Delphi no xHarbour
Olá IMATECH
O executavel é bom sim eu conheço mas... é externo ao meu sistema a ideia da dll é legal pois posso chamar de dentro do sistema, assim como espero que o André esteja criando com esses testes alguma DLL ( AcbrNfe.dll ) seria muito bom,
:xau
Como usar uma DLL criada em Delphi no xHarbour
Para Gerar chaves Publica e Privada pela Dll da Bematech, faço da seguinte forma e FUNCIONA:
PS: Se puder enviar a dll pra ver se por aki tenho o mesmo retorno q vc... (janioaguiar@ig.com.br)
Código: Selecionar todos
Function GeraChavePrivadaPublica
Local kDll, oRet, H_Handle
Local chPublica := Space(256)
Local chPrivada := Space(256)
kDll := LoadLibrary("sign_bema.dll")
oRet := DllCall(kDll,32,"genkkey", chPublica,chPrivada)
FreeLibrary(kDll)
If oRet = 0
Msg("Erro " + Str(oRet) + " ao tentar gerar chaves")
Return .f.
Endif
// exibe retorno
? chPublica
? chPrivada
Return .t.
Editado pela última vez por Pablo César em 05 Jul 2012 20:09, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
