Mapear variável String do delphi em JAVA usando JNA  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
laudenpower
JavaEvangelist
[Avatar]

Membro desde: 28/12/2008 21:00:08
Mensagens: 349
Offline

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 .

Enquanto cultivares teu saber, nada tens a temer!

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

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

www.citrox.com.br
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team