Esatto.
Non necessariamente, dall'editor delle risorse puoi sempre definire un alias per il file, in modo che venga inserito nel file delle risorse con un nome diverso da quello del file/percorso che ha effettivamente a livello di file system.Ora però mi viene questo dubbio, supponiamo che il percorso di icona1.png, seppur nel formato del file delle risorse, venga richiamato in più punti.
Se dovessi decidere di cambiare in futuro icona1.png con icona2.png, dovrei cambiare "manualmente" in tutti i punti dove è richiamata, sperando di non saltarne qualcuno.
Questo può essere utile più che altro per beccare a compile-time eventuali errori di battitura.Ho quindi pensato, creo un file macro.h, in cui metto
...
Non la vedo come una cosa così essenziale in realtà, per due motivi:Problema successivo: l'icona in questione, può essere modificata dall'utente.
Pensavo di risolvere così.
- ho un file .ini con le impostazioni del programma
- creo la chiave per memorizzare l'indirizzo di icona1 di default
- implemento quanto necessario per far modificare all'utente l'icona
- memorizzo il percorso dell'icona utente nel file delle impostazioni, così resta memorizzata la nuova impostazione lato utente
Dovrebbe funzionare.
Anche in questo caso, pensavo di sostituire con macro le voci per accedere al file .ini, così, in caso di future revisioni/modifiche, cambiata la macro, tutto va a posto in un colpo solo.
- i punti dove fai riferimento alla stessa icona mi aspetto siano veramente pochi;
- il punto in cui vai a leggere il file di configurazione per caricare l'icona mi aspetto sia uno solo.
Per questo direi che almeno ICONA1_PATH è probabilmente abbastanza inutile.
Sicuramente non dipende dal numero di define, i soli header di Windows ne conterranno da soli decine di migliaia e si usano tranquillamente. Prova a postare un esempio minimo che riproduce il problema.Ma il blocco è dovuto ad aver intorodotto troppi #define (sono arrivato al massimo ad una decina per ora, però se non è la strada da percorrere, sono all'inizio, quindi faccio ancora in fretta a cambiare)?