Avatar billede frede_manden Nybegynder
02. april 2009 - 15:10 Der er 7 kommentarer

Kan ikke debugge Value assigned to 'X' never used

procedure TForm1.Button1Click(Sender: TObject);
var
  Stop1: Boolean;
  d: Integer;
begin
  Stop1 := True;
  d := 0;

end;

Når jeg compiler denne kode siger compileren :
[Pascal Hint] Main.pas(51): H2077 Value assigned to 'd' never used
[Pascal Hint] Main.pas(50): H2077 Value assigned to 'Stop1' never used

Hvordan kan det være når begge to bliver assignet??
Dette medfører også at jeg ikke kan debugge nogen af linjerne, hvad kan dette skyldes??

Jeg har indtil for 2 dage siden kunne compile denne kode uden problemmer.

Jeg kører Vista og Turbo Delphi 2006
Avatar billede a_nor Nybegynder
02. april 2009 - 16:07 #1
Det er ikke en fejl der vises.

De to variable bliver fisket ud af compileren fordi du ikke bruger dem andre steder.

Du kan fjerne visningen af Hints.

mvh
Avatar billede a_nor Nybegynder
02. april 2009 - 16:15 #2
Delphi 7:

Project - options -> 

1) Compiler faneblad: Optimization
2) Compiler Messages
Avatar billede frede_manden Nybegynder
02. april 2009 - 16:31 #3
Hmm

Nu har jeg prøvet denne kode:
var
  Stop1: Boolean;
  d: Integer;
begin
  Stop1 := True;
  d := 0;
  if (Stop1 = True) then
  d := 1;

Når den når til "if (Stop1 = True) then" springer den videre og sætter IKKE d til 1 som den selvfølgelig burde det hænger da ikke sammen??
Avatar billede frede_manden Nybegynder
02. april 2009 - 16:35 #4
Når debuggeren når til "if (Stop1 = True) then" kan jeg se i Local Varibles at der står "Value d    E2171 Variable 'd' inaccessible here due to optimization"

Der burde stå 1!????
Avatar billede a_nor Nybegynder
02. april 2009 - 16:52 #5
Har du slået optimization fra?

Læg mærke til hvad der skrives! "Due to optimization"

Stop fik du adgang til da du satte if-sætningen ind. d bruger du ikke til noget.

Du har IKKE noget problem !
Avatar billede frede_manden Nybegynder
02. april 2009 - 16:57 #6
Ja okay det kan jeg godt se.. Er der slet ikke nogen fordel ved at sætte optimization til??

Har sat den fra nu!
Avatar billede a_nor Nybegynder
02. april 2009 - 17:10 #7
Jo, din (exe)kode bliver naturligvis mindre, når unødvendige linier og variable fjernes. Prøv at tjekke din exe-fil med og uden optimization.

Du bliver med Hints også 'hjulpet' til at fjerne variabler du reelt ikke anvender. Herved bliver din kode lettere at overskue.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester