Ja, man kann solche Meldungen deaktivieren, aber mann kann den "Fehler" auch einfach beseitigen.
Und am Einfachsten ist es, wenn man die ungenutzte Variable weglässt.
Oder man macht z.B. ein
if cur = nil then ;
dahinter und nutzt die Variable.
Ach ja, die Variable weglassen und den Resultwert "ignorieren" geht nur, wenn diese Funktion nicht deaktiviert ist.
Wobei das eigentlich nicht mehr vorkommen sollte, da es nur ein Kompilerschalter für die Unterstüzung von uraltem Code ist. (Abwärtzkompatibilität)
siehe
{$X+}
/
{$EXTENDEDSYNTAX ON}
Und hier gibt es noch das Problem der impliziten Typumwandlung.
Da man hier ja unbedingt das Interface braucht, müsste man ohne die Variable den Typ manuell in ein Interface umwandeln.
Delphi legt bei Zwischenergebnissen und für nicht verwendete Result-Werte eine lokale Variable an, wobei es hier allerdings den Klassentyp verwendet und nicht das Interface.
Also ich hätte da eine Class-Funktion in TWaitCursor eingebaut, welche das Interface als result liefert, womit man sich die manuellen umwandlungen überall erspart und das nur an einer Stelle macht.
[edit] siehe das Beispiel vor mir.