Oi pessoal,
 
Tenho algumas dúvidas sobre o uso de PChar, agradeceria alguma ajuda.
 
É o seguinte, fiz uma DLL com uma função que precisa retornar uma string, 
portanto tenho que usar um PChar
já que provalvelmente a DLL será usada com linguagem C.
 
Só que ainda não consegui entender direito como o Delphi trata esse tipo. Por 
exemplo,
se eu declarar em uma função:
 
var p:pchar;
 
o que exatamente o delphi cria? apenas um ponteiro para chars? ele já aloca 
memória
para conter strings? se eu tiver que retornar um pchar por uma função, por 
exemplo:
 
function Hello: pchar;
begin
  result := 'Hello';
end;
 
isso está correto? ou tenho que alocar memória para o pchar como eu teria que 
fazer em c?
nesse caso o delphi já coloca o terminador zero no final ou eu devo colocar 
explicitamente? 
E no lugar onde faço a chamada a essa função, depois eu tenho que liberar a 
memória?
Por exemplo:
 
var p: pchar;
begin
  p := Hello;
 
e agora? depois de usar a string em p o que eu devo fazer? liberar a memória? 
ou o delphi já faz isso?
No help do delphi há exemplos usando arrays de char que depois são "casteados" 
para pchar,
mas no meu caso eu não sei qual será o tamanho final da string, devo alocar um 
array dentro da função 
e liberar ele fora dela?
 
Obrigado,
 
Tchesco





_________________________________________________________________
Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o 
Messenger! É GRÁTIS!
http://www.msn.com.br/emoticonpack

[As partes desta mensagem que não continham texto foram removidas]

Responder a