Usando ponteiro na função
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+
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+
Paulo Assis
Curtidas 0
Respostas
Leonardo Xavier
06/12/2011
Porque você não utiliza uma variável global para isso?
GOSTEI 0
Marcelo Fernandes
06/12/2011
qual o motivo de nao usar o var ?
GOSTEI 0