Página Inicial do Fórum > Java Básico

Ajuda em JNI+Delphi



Criar novo tópico   Responder tópico


  1. Leonardi_br
    Posts:3


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Boa noite amigos, acabei de me cadastrar no forum, dei uma olhada nos tópicos ja postados, mas não encontrei nada que pudesse me ajudar a resolver esse problema.
    O Caso é o seguinte: Estou utilizando java para acessar uma dll criada em delphi e esta por sua vez acessa uma segunda DLL que acessa a porta paralela. Pelo pouco que entendo, percebi que ha um problema na passagem de parametros do jni para a dll que eu criei pelo delphi. Estou tentando passar o endereço da porta paralela e os bits para a dll no seguinte formato (String endereco, int bits) ==> ("$378",00000011), porém, na dll chegam caracteres completamente diferentes. Alguem poderia me dizer como fazer essa passagem de parametros sem erro ?




  1. staroski
    Posts:3375


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Java só acessa DLL's feitas em C ou C++ (Inclusive o JDK vem com diversos arquivos .h para serem incluídos nos fontes...) Essas DLL's por sua vez podem acessar sua DLL em Delphi.
    Se não me engano no site da SUN tem um bom tutorial de JNI.
    _________________
    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC




  1. Leonardi_br
    Posts:3


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Obrigado pela dica, staroski.

    Consegui fazer em tudo em delphi mesmo, o problema de passar "$378" como string, eu resolvi na manha. passei somente o 378, como inteiro mesmo. mas mesmo assim tava dando erro. então converti 378 da base 10 para base 8 ficando 888, dae funcionou do jeito que eu esperava. Só não me pergunte o porque de ter que passar para base 8, só sei que funcionou...
    mais uma vez obrigado pela dica, t+




  1. Leonardi_br
    Posts:3


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Valeu Staroski, mas eu ja consegui fazer o que pretendia, criei uma dll em delphi para acessar essa outra dll que eu ja utilizava. quanto a passagem de parametros, passei o endereço da porta paralela como inteiro mesmo, dae funcionou perfeitamente.
    Agora estou tendo trabalho para fazer o contrario, Quero criar uma dll em delphi que passe dados para a classe java, utilizando jni. Estou com problemas na passagem de parametros de delphi para java. Não importa os dados lidos na porta paralela, a dll sempre passa o mesmo valor para o java "338828968". Se vc ou mais alguem puder me ajudar, eu agradeço.




  1. Relacionados





Novo tópico   Responder tópico     Índice do forum -> Java Básico