Fórum var #300470
24/10/2005
0
procedure Altere_Panel1(Panel:TPanel); begin Panel.Caption := ´Sem var´; end; procedure TForm1.Altere_Panel2(var Panel:TPanel); begin Panel.Caption := ´Com var´; end;
Siam
Curtir tópico
+ 0Posts
24/10/2005
Michael
Var só é relevante para variáveis nativas (raw types), constantes tipadas(com a diretiva {$J} ativada), ponteiros deferenciados, campos (fields) e variáveis indexadas.
[]´s
Gostei + 0
24/10/2005
Siam
Gostei + 0
24/10/2005
Siam
Em C
typedef uint32 int_Return;
typedef struct data {
uint16 Ano;
uint8 Mes;
uint8 Dia;} Data, *Data_ptr;
int_Return Faca_Algo(Data_ptr *Valor);Em Delphi
type Data_ptr = ^Data Data = record Ano :Word; Mes :Byte; Dia :Byte; end; function Faca_Algo(var Data_ptr):DWord;
Gostei + 0
24/10/2005
Siam
function Faca_Algo(var Data_ptr):DWord;
function Faca_Algo(var Data:Data_ptr):DWord;
Gostei + 0
24/10/2005
Massuda
Neste aspecto, [b:3a0ed43bbe]const[/b:3a0ed43bbe] tem o mesmo funcionamento de [b:3a0ed43bbe]var[/b:3a0ed43bbe], só que o ponteiro passado é read-only.
Gostei + 0
24/10/2005
Michael
[]´s
Gostei + 0
24/10/2005
Siam
Executar um método ou função utilizando [b:a533e173b2]var[/b:a533e173b2] não é mais rápido do que sem [b:a533e173b2]var[/b:a533e173b2] ? Sempre achei que fosse por evitar a cópia dos parâmetros para a pilha; pois só é passado o ponteiro(4 bytes) de cada argumento.
Gostei + 0
24/10/2005
Michael
Objeto^.Propriedade
[]´s
Gostei + 0
24/10/2005
Massuda
function Faca_Algo(var X: Data):DWord; // ...equivale a... function Faca_Algo(X: Data_ptr):DWord;
Gostei + 0
24/10/2005
Michael
[b:4520070d43]Deferenciar[/b:4520070d43] é outra coisa completamente diferente... hehehehe
[]´s
Gostei + 0
24/10/2005
Siam
Gostei + 0
24/10/2005
Massuda
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)