Dúvidas sobre Variaveis
22/07/2008
0
Paulo
Posts
22/07/2008
Aroldo Zanela
Você não consegue declarar uma váriável de mesmo nome nas seções private e public, mas consegue declarar com o mesmo nome sendo pública e local ou privada e local.
Quando uma variável é declarada local, ela possui o seu escopo limitado dentro da procedure ou função onde foi declarada e é descartada da memória assim que a função/procedimento é encerrado.
Veja um exemplo:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) btn1: TButton; btn2: TButton; procedure btn1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure btn2Click(Sender: TObject); private { Private declarations } I: Integer; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.btn1Click(Sender: TObject); var I: Integer; begin I := 123; ShowMessage(IntToStr(I)); end; procedure TForm1.FormCreate(Sender: TObject); begin I := 999; end; procedure TForm1.btn2Click(Sender: TObject); begin ShowMessage(IntToStr(I)); end; end.
22/07/2008
Paulo
Eu não falei Private e Public ao mesmo tempo. Eu disse Private e Local ou Public e Local. Eu apenas exemplifiquei a Private e Local, mas depois descorri minha dissertação com Public e Global. Eu estou dando manutenção em um Software que possui a munha dúvida. A pergunta foi qual irá receber o valor em situações assim: A local ou as outras?
22/07/2008
Comodelphi
22/07/2008
Paulo
23/07/2008
Rodc
Clique aqui para fazer login e interagir na Comunidade :)