Usuwanie klucza rejestru

0

Na formie mam przycisk który usuwa klucz z rejestru jeżeli ten klucz zostanie usunięty wygląd programu się zmienia. I tu pojawia się problem żeby program się zmienił muszę go zamknąć i uruchomić ponownie, czy jest sposób żeby program jakoś się zaktualizował bez ponownego uruchomienia. [???]

0

Jeżeli trzeba uruchomić ponownie to znaczy, ze obecność tego klucza sprawdzasz wyłącznie na starcie - dodaj sprawdzanie i odpowiednią reakcję także po kliknięciu przycisku.

0

Do przycisku dodałem to co się robi w create formy (czyli przy starcie) i nic nadal musze zrestartować program.
Teraz po kliknięciu jest tak:
wyglad:=TRegistry.Create;
Try
wyglad.DeleteKey('Software\Aplikacja\WYGLĄD');
zmienna:=false;
finally
wyglad.Free
end;
// poniżej jest to co przy starcie
wyglad:=Tregistry.Create;
try
if wyglad.OpenKey('Software\Aplikacja\WYGLĄD',false) then
zmienna:=wyglad.ReadBool('Wygląd');
finally
wyglad.Free;
end;
end;

Może tu coś skopałem POMUŻCIE [stuk]

0

Nie dodałeś tam pełnego kodu. Chodzi o to, żebyś wykonywał ponownie te wszystkie akcje, które zmieniają wygląd, a nie tylko ustawiał zmienną zmienna. To chyba logiczne, że nic się nie stanie, jeśli tyko przypiszesz true do zmiennej i nie będziesz nic więcej robił. Poza tym lepiej nie używaj polskich liter w rejestrze.

0

No chyba że przez "zmiane wyglądu aplikacji" rozumiesz np. dodanie pliku .manifest dla Windowsa XP (co powoduje zastosowanie stylów wizualnych) - to jest niestety sprawdzane tylko podczas ładowania aplikacji i nie mozesz na to nic poradzic, co najwyzej powodowac ponowne uruchomienie programu z każdą zmianą tej wartości.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0