Fórum Atribuir valores a constante é possível? #369487
31/03/2009
0
Isso é possível? Óbvio que não, né... o problema é que em um projeto o código compila em outro não. Tem como desabilitar esta verificação de erro em tempo de execução?
vejam o código.
//
procedure talz;
const firstTime: boolean = True;
var i: integer;
begin
if firstTime then
begin
firstTime := False; <== left assign
...
//
Obrigado a todos.
Pehdepano
Curtir tópico
+ 0Posts
31/03/2009
Marco Salles
hummmmm... Vc deve estar se referindo a Constantes Tipadas
é possivel Sim...
então , vc deve definir a Diretiva {$J+} .. Por isto que num projeto
compila e no Outro Não
Assim :
{$R *.dfm} {$J+}
Olha so um exemplo de constante Tipadas..
procedure talz; const firstTime: boolean = True; var i: integer; begin firstTime := not firstTime; if firstTime then showmessage(´é false´) else showmessage(´Não é´); end;
usando a directiva definida acima
procedure TForm1.Button2Click(Sender: TObject); begin talz; end;
Gostei + 0
31/03/2009
Pehdepano
Alguma pista? Será que isso não pode ser feito via IDE?
Gostei + 0
31/03/2009
Marco Salles
Se tem outro Modo eu não sei..
Gostei + 0
31/03/2009
Pehdepano
Mas fiquei intrigado do porque funciona nos outros projetos.
Deve ter algum lugar na IDE.
Valeu Marcos
[]´s
Gostei + 0
31/03/2009
Marco Salles
Talvez exista alguma similar a {+J} ou esta mesma foi definida em
algum lugar da Ide no projeto , como vc mesmo disse.. e não aparece
visivel quando simplesmente se faz uma Pesquisa ...Ok
Gostei + 0
02/04/2009
Pehdepano
Project Options -> compiler ->Syntax Options
Marque o Assignable typed constants :P
[i:4248b2960c]
Assignable typed constants - Enable this for backward compatibility with Delphi 1.0. When enabled, the compiler allows assignments to typed constants. Corresponds to {$J}.[/i:4248b2960c]
Mas vou deixar no código mesmo.
Valeu Marcos.
Gostei + 0
02/04/2009
Marco Salles
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)