Quote Originariamente inviata da ing82 Visualizza il messaggio
In questo modo, se ho capito giusto quanto letto nel link, l'icona è contenuta (che detto tecnicamente a questo punto dovrebbe essere "linkata staticamente") nel file .exe, in modo che portando in giro l'eseguibile, delle icone ci si può dimenticare.
Esatto.
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.
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.
Ho quindi pensato, creo un file macro.h, in cui metto
...
Questo può essere utile più che altro per beccare a compile-time eventuali errori di battitura.
Problema successivo: l'icona in questione, può essere modificata dall'utente.
Pensavo di risolvere così.
  1. ho un file .ini con le impostazioni del programma
  2. creo la chiave per memorizzare l'indirizzo di icona1 di default
  3. implemento quanto necessario per far modificare all'utente l'icona
  4. 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.
Non la vedo come una cosa così essenziale in realtà, per due motivi:
- 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.
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)?
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.