Dein Code ist ja nicht sonderlich gut.
Dein Problem liegt darin, dass du die Variable lokal deklarierst und diese somit nur beim aktuellen Ereignis-Aufruf verfügbar ist. Du musst diese daher beispielsweise im private-Abschnitt deklarieren. Und vergleiche
nie auf
true (siehe hierzu
dieses Thema), sondern mach es, wie im folgenden Code:
Delphi-Quellcode:
private
{ Private-Deklarationen }
OldVolume: Integer;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
begin
OldVolume := TrackBar1.Position;
Label13.Caption := IntToStr(OldVolume);
TrackBar1.Position := 0;
TrackBar1.Enabled := False;
Label11.Enabled := False;
end else
begin
TrackBar1.Position := OldVolume;
TrackBar1.Enabled := True;
Label11.Enabled := True;
end;
end;