Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Acceder a la ruta de un recurso de mi programa (https://www.clubdelphi.com/foros/showthread.php?t=73189)

broly7 06-04-2011 15:49:51

Acceder a la ruta de un recurso de mi programa
 
Hola buenas, la cosa es bastante simple creo yo. Y esque he buscado por google algun ejemplo y no me sale nada de nada, incluso en la ayuda de Delphi u.u

Pues tengo un recurso ya compilado en mi programa y añadido en la implementation y tal.
Y tengo una función a la que hay que llamarla con un string, y ese string es la ruta que adquiere un archivo del sistema.
El caso es que ese archivo lo llevo dentro del programa, y si lo trato como un Tstreamresource, el compilador no me deja porque lo que tengo que declarar es un string. Entonces ¿cómo puedo ser capaz de sacar la ruta de mi recurso?

Espero que me haya explicado medianamente bien u.u!
Muchas gracias.

broly7 07-04-2011 21:18:03

42 visitas
(Llorando en mi salón...)

oscarac 07-04-2011 21:56:03

mmm
no entendi muy bien eso de "El caso es que ese archivo lo llevo dentro del programa"
segun lo que quiza entendi...te convendria usar archivos ini?

broly7 08-04-2011 08:02:09

Cita:

Empezado por oscarac (Mensaje 396208)
mmm
no entendi muy bien eso de "El caso es que ese archivo lo llevo dentro del programa"
segun lo que quiza entendi...te convendria usar archivos ini?

Código Delphi [-]
implementation

{$R *.dfm}
{$R Recursos.res}

COn esto quiero decire que recursos.res es un archivo compilado dentro de mi programa.
Y si quiero llamar al recurso con su ruta no sabría ni por donde empezar.

Encontré esta función que saca el recurso donde tu desees.
Código Delphi [-]
procedure ExtractFileFromResource(const resName, targetFile: string);
var
  fStream: TFileStream;
  rStream: TResourceStream;
begin
  rStream := TResourceStream.Create(hInstance, resName, RT_RCDATA);
  try
    fStream := TFileStream.Create(targetFile, fmCreate);
    try
      fStream.CopyFrom(rStream, 0);
    finally
      fStream.Free();
    end;
  finally
    rStream.Free();
  end;
end;

Pero lo que quiero es llamarlo con esta función.

Código Delphi [-]
function InjectDll(PID:DWORD; sDll:ansistring):Boolean;

Como observarán (sDll) me pide un ansistring, y no sé que ruta poner para llamar al recurso, gracias.

oscarac 08-04-2011 16:25:52

has probado dejando en blanco? tipo ('')

broly7 09-04-2011 00:35:38

INjectDLL(1234,'')???
Me parece que no me has entendido xD


La franja horaria es GMT +2. Ahora son las 00:50:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi