Posts Tagged ‘.rc’
Estrarre un file a runtime dalla propria applicazione può essere molto utile, alcuni esempi possono essere: dopo un’istallazione estrarre dall’eseguibile file di configurazione preformattati, estrarre sempre dopo l’installazione dll o eseguibili che dovrebbero essere caricati di default in un sistema, estrarre immagini che poi vengono caricate ad esempio su un servizio web (per evitare che il cliente le cambi).
1) Creare un file .rc (es. risorse.rc)
2) Compilare il file con la lista dei file da includere di seguito un esempio con un file eseguibile (identificativo tipo nomefile.estensione):
FILE1 EXEFILE c:\test.exe
3) Salvare il file .rc ed includerlo nel progetto della nostra applicazione.
4) Compilando il progetto l’eseguibile risulterà più pesante in quanto includerà anche i file aggiuntivi specificati nel .rc
5) Estrarre i file per poterli utilizzare tramite questa funzione:
function EstraiRisorse(tipo,nome, destinazione: string): Boolean;
var
Risorsa: TResourceStream;
begin
Result := False;
Risorsa := TResourceStream.Create(Hinstance, nome, PChar(tipo));
try
risorsa.SavetoFile(destinazione);
Result := True;
finally
risorsa.Free;
end;
end;
Sempre seguendo l’esempio possiamo richiamare la funzione in questo modo:
if EstraiRisorse(’EXEFILE’,'FILE1′,’c:\dir\test.exe’) then
showmessage(’File estratto correttamente’);
Consiglio di comprimere i file prima dell’inclusione per evitare di appesantire troppo l’eseguibile.
Compatibile con:
- Windows XP: SI
- Windows VISTA: SI
- Windows 7: DA TESTARE