Gostaria em saber se é possível trabalhar com ponteiro da seguinte maneira:
function TForm1.fValor(Teste: string): integer;
var pvalor: ^String;
begin
pvalor := @teste;
pvalor^ := 'Retorno';
Result:=1;
end;
Quando for chamar a função, no evento do click do botão eu declaro uma variavel com o nome Valor do tipo String, conforme abaixo:
procedure TForm1.Button3Click(Sender: TObject);
var Valor : String;
begin
fValor(Valor);
end;
Quando eu executar a função eu gostaria em passar o valor do ponteiro pValor, que seria 'Retorno' para a minha variavel Valor do evento do botão!
Do jeito que está, acontece a seguinte situação: quando estou debugando dentro função a minha variavel Valor recebe o 'Retorno', mas quando saio da função a minha variavel Valor simplismente zera!
OBS: não quero inserir o var da assinatura da função (function TForm1.fValor(var Teste: string): integer).
Pergunta
Paulo Henrique de Assis
Olá pessoal.
Gostaria em saber se é possível trabalhar com ponteiro da seguinte maneira:
function TForm1.fValor(Teste: string): integer;
var pvalor: ^String;
begin
pvalor := @teste;
pvalor^ := 'Retorno';
Result:=1;
end;
Quando for chamar a função, no evento do click do botão eu declaro uma variavel com o nome Valor do tipo String, conforme abaixo:
procedure TForm1.Button3Click(Sender: TObject);
var Valor : String;
begin
fValor(Valor);
end;
Quando eu executar a função eu gostaria em passar o valor do ponteiro pValor, que seria 'Retorno' para a minha variavel Valor do evento do botão!
Do jeito que está, acontece a seguinte situação: quando estou debugando dentro função a minha variavel Valor recebe o 'Retorno', mas quando saio da função a minha variavel Valor simplismente zera!
OBS: não quero inserir o var da assinatura da função (function TForm1.fValor(var Teste: string): integer).
Gostaria em saber aonde estou errando??
T+
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.