Página 1 de 1

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Enviado: 02 Set 2014 01:14
por Silas R. Mertin
Olá! estou chegando agora no "mundo Harbour" e necessito converter um sistema Clipper para executá-lo em Windows XP/Vista/8 sem necessidade de rodar uma máquina virtual, no entanto, o problema é que utilizo a biblioteca de terceiros "Clipper Power Tools Library" (ptool52.lib).
Pelo que entendi até o momento, não é possível fazer uso de bibliotecas de terceiros, ao querer converter sistemas Clipper para Harbour, certo?
Inicialmente só quero converter o sistema para continuar a rodar em modo Console.
Alguém tem uma ideia do que devo fazer?
Fico agradecido por alguma ajuda.

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Enviado: 02 Set 2014 01:47
por cjp
Silas, não sou a pessoa mais indicada para te ajudar, mas vou tentar: seria bom você informar quais funções da ptool52.lib vc quer usar. Muito provavelmente haverá, no próprio Harbour ou em alguma lib do Harbour, função semelhante, função equivalente.

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Enviado: 02 Set 2014 09:18
por Silas R. Mertin
Olá, verificando o meu sistema, identifiquei o uso das seguintes funções da biblioteca ptool52.lib:
ALength(), BuildGetSystem(), ChDir(), DATEREADR(), Decrypt(), DefaultKeys(), Encrypt(), ErrorTone(), GetRecord(), IsStable(), KillRead(), MakeEmpty(), MenuDisplay(), MenuModal(), MenuNew(), MenuPadC(), MenuPadR(), MenuRowCol(), PTGetActive(), PutRecord(), SetKeyTable(), TimeString(), ValidDrPath(), WClose(), WCol(), WInit(), WMaxCol(), WMaxRow(), WOpen(), WRow(), WSet()

Se alguém souber como substituí-las por equivalentes do Harbour, agradeço.

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Enviado: 02 Set 2014 11:08
por Jairo Maia
Olá Silas,

Várias por dedução é possível saber o que fazem e suas equivalentes, porém outras podem ter comportamento diferente dessa lib, como por exemplo entre outras as funções Decrypt() e Encrypt().

Como Clipper e suas ferramentas foram descontinuadas, você já tentou descompilar os fontes e tentar recuperar essas funções do executável?

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Enviado: 02 Set 2014 11:27
por Silas R. Mertin
Olá Jairo!

Possuo todos os fontes do sistema em questão (.prg), no entanto, as referidas funções provêm da biblioteca ptool52.lib. Você se refere a descompilar os fontes, não entendi como eu faria isso. Poderia esclarecer?

Obrigado!

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Enviado: 02 Set 2014 12:07
por Jairo Maia
Silas, você precisa usar uma ferramente de descompilação do executável. Você pode usar esta da seção downloads: Valkyrie.

Sugiro você criar um pequeno executável em Clipper, incluindo chamada para todas as funções dessa lib que você usa, depois use o valkyrie, e veja se você consegue sucesso.

Este é um caminho mais rápido, para que você depois possa ir substituindo as funções por funções nativas do Harbour, ou de libs suportadas pelo Harbour. Nem todas as funções podem ser possível descompilar, mas faça um teste.

Veja se você tem sucesso com o Valkyrie.

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Enviado: 02 Set 2014 15:25
por Nascimento
amigo jairo baixei a respectiva lib e vi que foi feita em assembly

Como substituir "Clipper Power Tools Library" (ptool52.lib)?

Enviado: 02 Set 2014 20:32
por Silas R. Mertin
Olá Jairo!

Muito obrigado pela dica do descompilador, já consegui descompilar algumas funções, conforme suas instruções.
Comecei com um aplicativo mais simples e consegui incluir estas funções num .prg.
Já consegui criar o executável, utilizando o HMG 3.0.35, e conforme alguns testes rápidos, parece que está funcionando da forma como funciona o executável Clipper, o único porém é que, no momento de rodar o executável, ele insiste em abrir no modo "debug", sendo necessário pressionar a tecla F5 para que a execução continue, não sei qual a razão disso.
Próximos dias continuarei com a tentativa de recuperar as demais funções, de outro aplicativo mais complexo, e assim que eu precisar de alguma ajuda, estarei postando aqui.

Mais uma vez, obrigado pela dica. Também agradeço aos demais que se disponibilizaram em contribuir na solução do problema.

Silas