Gostaria de saber se é possivel utilizar uma dll prolog em Java e uma dll delphi. Caso for possivel, como faco para passar um parametro de uma aplicação java para uma dll prolog? Estou comecando a trabalhar com java, logo vou necessitar de uma descrição bem detalhada.
Aham. Acho que é melhor, enquanto você não está familiarizado com Java e souber usar C, não tentar isso por enquanto. É que o método que o Java usa para acessar DLLs é meio desajeitado e dá bastante dor de cabeça - requer escrever uma DLL em C (procure JNI, Java Native Interface) para acessar essas DLLs em outras linguagens.
É tão chato e cheio de problemas que algumas coisas que eram feitas inicialmente como DLLs no Java (como manipulação de números de precisão ilimitada, ou BigInteger ), que eram feitas inicialmente em C, passaram a ser feitas em Java, para evitar alguns problemas.
Como o Java consegue chamar programas executáveis e consegue se comunicar via sockets ou arquivos com outros programas, é melhor usar essas outras alternativas (sockets, arquivos ou chamar diretamente o executável).
H
Heleno_da_Silva_Alve
Da uma olhada no framework Jawin … É bem interessante e não precisa de muito conhecimneto de JNI que é um tópico mais avançado.
Se você estiver usando o Visual Prolog é importante saber que ele gera DLLs normais, não COM, então bibliotecas Java tais como a NJAWIN e o JACOB não funcionam.
De qualquer maneira, prepare-se para um monte de erros esquisitos que normalmente ocorrem dentro da JVM quando se chama código nativo. Esses erros são difíceis de debugar, mesmo com o JAWIN já interceptando boa parte das “exceptions” do C++.