Mapear variável String do delphi em JAVA usando JNA

2 respostas
laudenpower

Olá tudo bem? Gostaria de saber qual o tipo correspondente a String utilizado pelo delphi, mas só que em java com JNA. Preciso saber disso por que estou implementando uma dll em lazarus (object free pascal, logo é como o delphi) e vou ter que usar funções que recebem e retornam strings no programa java que estou desenvolvendo.
Já tentei utilizar PCHAR em delphi mapeando como byte[] no java, mas muitas vezes quando eu mando um vetor de bytes para a procedure que por consequência espera um tipo PCHAR a mesma acaba recebendo caracteres a mais na variável (provavelmente algum lixo entrou no processo), já quando acesso uma function que tem como retorno um PCHAR o programa trava ou simplesmente não recebe nada (nesse caso tenho como correspondente do retorno PCHAR da function um vetor de bytes).

Desde já quero agradecer a atenção de quem leu, valeu mesmo :slight_smile: .

2 Respostas

J

O problema deve estar no ponteiro que sua função está retornando da dll. Ele deve estar perdendo a referência.

Tente mapear com um Object ao invés de um String. O ponteiro sem tipo referente ao delphi é o tipo Pointer.
Esse Texto pode lhe ajudar, apesar de ser usado c#.

http://bytes.com/topic/c-sharp/answers/811795-delphi-pchar-c

T

Olá,

você resolveu o problema? Tenho um similar aqui!!!

Agradeço desde já.

Criado 31 de março de 2010
Ultima resposta 27 de nov. de 2013
Respostas 2
Participantes 3