Annunci

Linkedin


Posts Tagged ‘.rc’

giovedì, novembre 5, 2009 @ 10:11 AM admin

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