Załóżmy, że mamy sobie w systemie Windows XP/7 jakąś zmienną środowiskową FILES ustawioną na 250. Teraz chcemy ją zmienić za pomocą poniższego kodu:
ShowMessage(GetEnvironmentVariable('FILES'));
if SetEnvironmentVariable(PChar('FILES'),PChar('205')) then ShowMessage(GetEnvironmentVariable('FILES'));
Wszystko skompilowało się prawidłowo, program najpierw wyświetlił dotychczasową wartość zmiennej czyli 250, a następnie wartość 205 co teoretycznie powinno oznaczać że wartość została zmieniona ponownie, jednak po sprawdzeniu wartości zmniennej zewnętrznie (np. we właściwościach systemu albo komendą set w cmd.exe) wartość nadal wynosi 250. Dlaczego nie udało się zmienić wartości tej zmiennej i dlaczego program mimo to odczytywał tą nową wartość?