HMG/Etc em DLL

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG/Etc em DLL

Mensagem por JoséQuintas »

Tem horas que parece que ninguém enxerga essas coisas...
Por acaso alguém testou gerar as LIBs em DLL pra nem precisar mais das LIBs?
Tanto faz, Harbour ou XHarbour.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

HMG/Etc em DLL

Mensagem por HASA »

:% :|<
Eu gostaria é de aprender a fazer isso.
8-|
HASA
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG/Etc em DLL

Mensagem por JoséQuintas »

Vou testar depois, mas a base do modelo são as LIBs do Harbour e seus projetos (HBP,HBC)
Por enquanto dá pra adiantar que é o HBX que fornece a informação das funções, pra poder incluir tudo na DLL.
o HBX é gerado quando se compila a LIB.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG/Etc em DLL

Mensagem por JoséQuintas »

Default do Harbour

Código: Selecionar todos


 Pasta de d:\harbour\bin

10/08/2019  11:25           455.680 gtwvg-34.dll
10/08/2019  11:24           225.280 gtwvw-34.dll
10/08/2019  11:15         4.002.304 harbour-34.dll
10/08/2019  11:24            54.272 hbamf-34.dll
10/08/2019  11:23            23.040 hbblink-34.dll
10/08/2019  11:20            85.504 hbbz2-34.dll
10/08/2019  11:23            90.624 hbbz2io-34.dll
10/08/2019  11:23            32.256 hbcomio-34.dll
10/08/2019  11:23            16.384 hbcomm-34.dll
10/08/2019  11:23           143.872 hbcrypto-34.dll
10/08/2019  11:20           221.184 hbct-34.dll
10/08/2019  11:23           288.768 hbexpat-34.dll
10/08/2019  11:20            64.512 hbformat-34.dll
10/08/2019  11:23            36.352 hbfoxpro-34.dll
10/08/2019  11:23            33.280 hbfship-34.dll
10/08/2019  11:20            34.816 hbgt-34.dll
10/08/2019  11:23            36.352 hbgzio-34.dll
10/08/2019  11:23           942.080 hbhpdf-34.dll
10/08/2019  11:23            68.608 hbhttpd-34.dll
10/08/2019  11:23            32.768 hblzf-34.dll
10/08/2019  11:23            35.840 hbmemio-34.dll
10/08/2019  11:23           110.080 hbmisc-34.dll
10/08/2019  11:23            37.888 hbmlzo-34.dll
10/08/2019  11:23           116.224 hbmxml-34.dll
10/08/2019  11:18            83.968 hbmzip-34.dll
10/08/2019  11:18            77.312 hbnetio-34.dll
10/08/2019  11:19           174.592 hbnf-34.dll
10/08/2019  11:23            56.320 hbodbc-34.dll
10/08/2019  11:22            15.360 hboslib-34.dll
10/08/2019  11:22            31.232 hbpipeio-34.dll
10/08/2019  11:22            17.408 hbsms-34.dll
10/08/2019  11:22         1.090.048 hbsqlit3-34.dll
10/08/2019  11:22            32.256 hbtcpio-34.dll
10/08/2019  11:22            84.992 hbtest-34.dll
10/08/2019  11:22           189.952 hbtip-34.dll
10/08/2019  11:22            23.040 hbtpathy-34.dll
10/08/2019  11:16           375.296 hbwin-34.dll
10/08/2019  11:22            66.048 hbxdiff-34.dll
10/08/2019  11:22            55.296 hbxpp-34.dll
10/08/2019  11:20           139.264 hbyaml-34.dll
10/08/2019  11:22            96.768 hbzebra-34.dll
10/08/2019  11:22            35.840 hbziparc-34.dll
10/08/2019  11:22            36.864 rddbm-34.dll
10/08/2019  11:22            48.128 rddmisc-34.dll
10/08/2019  11:18            55.296 rddsql-34.dll
10/08/2019  11:21            37.888 sddodbc-34.dll
10/08/2019  11:21         1.068.544 sddsqlt3-34.dll
10/08/2019  11:21           441.344 xhb-34.dll
              48 arquivo(s)     11.521.024 bytes
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

HMG/Etc em DLL

Mensagem por HASA »

:D :{

Agradeço mestre.

:-Y

HASA
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG/Etc em DLL

Mensagem por JoséQuintas »

Há um detalhe importantíssimo:

Ao gerar uma DLL, precisa decidir o que vai dentro da DLL.
Se não indicar nada contrário, TUDO que precisa vai fazer parte dela.

Por exemplo, na sefazclass:

hbmk2 sefazclass.hbp -hbdynvm hbct.hbc hbwin.hbc
sefaz.png
Só que nesse caso, hbct e hbwin vão fazer parte da dll e talvez até a máquina virtual do Harbour.
Não testei, mas TALVEZ dê pra usar a DLL em outra linguagem de programação desse jeito.
Qualquer dia faço o teste....
Moderador escreveu:Movida por tratar do mesmo assunto
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG/Etc em DLL

Mensagem por microvolution »

JoséQuintas escreveu:Por acaso alguém testou gerar as LIBs em DLL pra nem precisar mais das LIBs?
como assim não mais usar as libs?
não entendi nada.
pode esclarecer mais sobre o assunto nobre professor Sr. JQuintas?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG/Etc em DLL

Mensagem por JoséQuintas »

Uma DLL é igual uma LIB, com a diferença que não precisa compilar, é só usar no EXE.
Se a LIB é gerada em DLL... só precisa da DLL, e não mais da LIB.
Se a DLL for em formato Windows... pode ser usada em qualquer linguagem de programação.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG/Etc em DLL

Mensagem por microvolution »

JoséQuintas escreveu:Se a DLL for em formato Windows... pode ser usada em qualquer linguagem de programação.
desculpa continuar a perguntar:
exemplo:

quando a gente faz uma referência no software a uma função/comando da GTWVG, e, não anexa-a no programa o harbour (hbmk2) sugere pra gente incluir GTWVG.HBC ou GTWVG.LIB... até aí tudo bem.

então, com o uso da .DLL não é mais necessário na compilação a gente lá no .HBP anexar a .LIB ou .HBC?

Vou me atrever a perguntar um pouco mais ao nobre professor:

- Então significa, que na compilação a LIB não vai mais ocupar espaço no .EXE?
- Como então é feito essa .DLL?
- se eu tiver usando outra linguagem por exemplo: DELPHI. lá dentro posso fazer uso dos comandos da GTWVG ou qualquer outra .LIB do harbour que funcionará como uma linguagem "híbrida", ou seja, eu posso misturar tudo lá dentro que funcionará?
- são tantas as perguntas: "este é o show da Luna, Luna, LUNA!!!!" kkk
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG/Etc em DLL

Mensagem por JoséQuintas »

Na prática é fazer testes pra ver até onde vai isso.

O lado ruim seria ter que mandar o EXE + DLL
O lado bom seria ter um ambiente de execução completo, pra rodar qualquer coisa via HRB.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG/Etc em DLL

Mensagem por microvolution »

microvolution escreveu:- Como então é feito essa .DLL?
- se eu tiver usando outra linguagem por exemplo: DELPHI. lá dentro posso fazer uso dos comandos da GTWVG ou qualquer outra .LIB do harbour que funcionará como uma linguagem "híbrida", ou seja, eu posso misturar tudo lá dentro que funcionará?
alguém sabe?
JoséQuintas escreveu:via HRB.
o nobre quer dizer [x]HARBOUR?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG/Etc em DLL

Mensagem por JoséQuintas »

microvolution escreveu:alguém sabe?
Se dá pra usar em outra linguagem de programação?
Sim. Já falaram sobre isso diversas vezes.

Como faz?

Inverter a pergunta:

já testou? ou nem isso quer fazer?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG/Etc em DLL

Mensagem por microvolution »

JoséQuintas escreveu:quer fazer?
claro que sim. o q mais aprendi nos últimos tempos foi contigo e com suas explicações nobre professor!
microvolution escreveu:- Como então é feito essa .DLL?
pra eu testar, preciso aprender a produzir uma .DLL. Nem tenho noção disso.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG/Etc em DLL

Mensagem por JoséQuintas »

microvolution escreveu:pra eu testar, preciso aprender a produzir uma .DLL. Nem tenho noção disso.
Desculpe, acabei causando isso de você não ter visto.

Havia este tópico, e depois coloquei outro mostrando como criar DLLs.
Achei melhor juntar os dois, por tratarem de DLL, mas por causa das datas, a criação entrou como se fosse post antigo.

Mas na prática, mesmo assim não mostrei como fiz.
Vou ter que olhar de novo, porque não tá no post, e não lembro mais kkkk
Peguei do manual do HBMK2, algo sobre DYNAMIC ou SHARED.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG/Etc em DLL

Mensagem por JoséQuintas »

Tá lá sim, mas quase não dá pra ver:
-hbdynvm
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder