Ver Mensaje Individual
  #1  
Antiguo 20-02-2024
jesusgandia1966 jesusgandia1966 is offline
Miembro
 
Registrado: mar 2015
Posts: 27
Reputación: 0
jesusgandia1966 Va por buen camino
TresourceStream con archivo de Recursos .rc

Anteriormente en Studio 2010 tenia un código que no consigo hacer funcionar en RIO 1.3.
Tenia este código que podía llamar a varios archivos del fichero de recursos, pero ahora no sé como hacerlo sin tener que crear un puntero para cada uno de los ficheros contenido en el fichero de recursos.
CODIGO ANTIGUO:
Código PHP:
String CAB Ruta L"dat.cab";
String RAR Ruta L"rar.exe";
if(!
FileExists(RAR.w_str()))//Si no existe Rar.exe
      
TResourceStream(0L"C"RT_RCDATA).SaveToFile(CAB.w_str());

if(!
FileExists(IMG.w_str()))
      
TResourceStream(0L"R"RT_RCDATA).SaveToFile(RAR.w_str());

//... y así sucesivamente hasta sacar todos los ficheros del RECURSO. 
ERROR QUE ME APARECE:
[ilink32 Error] Error: Unresolved external 'System::Classes::TResourceStream::{1173}...' referenced from D:\BDS_10_3\TPV-START\WIN32\DEBUG\UNIDADTPVBARMAN_START.OBJ
[ilink32 Error] Error: Unable to perform link

Ahora solo he encontrado esta forma de hacerlo con la creación de un PUNTERO, puesto que la forma anterior compila en .cpp de la llamada pero al generar el fichero del proyecto me da error y no los consigo hacer funcionar.

CODIGO NUEVO:
Código PHP:
String CAB Ruta L"dat.cab";
String RAR Ruta L"rar.exe";

TResourceStream *= new TResourceStream((int)HInstance"C"RT_RCDATA);
   
__try
   
{
      
B->SaveToFile(CAB.w_str());
/* La pregunta es... ¿Como sacar los otros ficheros del recurso antes de destruir el PUNTERO?*/

   
}
   
__finally
      
{
         
delete B;
      } 
Fichero de RECURSOS. IB_Replicador.rc
Código PHP:
/*IB_Replicador.rc*/
C RCDATA "dat.cab"
R RCDATA "rar.exe"
D RCDATA "divisas.cab"
B RCDATA "Barman.dat"
W RCDATA "nzw.dll"
IMG_1 RCDATA "IMG\\Inicio_2.jpg"
IMG_2 RCDATA "IMG\\imagen_jpg_error.jpg"
IMG_3 RCDATA "IMG\\Inicio_3.jpg"
IMG_4 RCDATA "IMG\\imagen_articulos.jpg"
IMG_5 RCDATA "IMG\\imagen_comanda.jpg"
IMG_6 RCDATA "IMG\\imagen_familias.jpg"
IMG_7 RCDATA "IMG\\imagen_operador.jpg"
IMG_8 RCDATA "IMG\\BalanzaDibal.jpg"
IMG_9 RCDATA "IMG\\CashDro.jpg"
IMG_10 RCDATA "IMG\\CashGuard.jpg"
IMG_11 RCDATA "IMG\\CashKeeper.jpg"
IMG_12 RCDATA "IMG\\CashLogy.jpg"
IMG_13 RCDATA "IMG\\Modo_Limpieza.jpg"
IMG_14 RCDATA "IMG\\display.jpg"
IMG_15 RCDATA "IMG\\display_2.jpg"
IMG_16 RCDATA "IMG\\1024_768.jpg"
IMG_17 RCDATA "IMG\\1280_800.jpg"
IMG_18 RCDATA "IMG\\1280_1024.jpg"
IMG_19 RCDATA "IMG\\1360_768.jpg"
IMG_20 RCDATA "IMG\\1920_1080.jpg"
IMG_21 RCDATA "IMG\\Color1.jpg"
IMG_22 RCDATA "IMG\\Color2.jpg"
IMG_23 RCDATA "IMG\\Color3.jpg"
IMG_24 RCDATA "IMG\\Color4.jpg"
IMG_25 RCDATA "IMG\\Color5.jpg"
IMG_26 RCDATA "IMG\\Color6.jpg"
IMG_27 RCDATA "IMG\\Mesas_Repres_Iconos.jpg"
IMG_28 RCDATA "IMG\\Mesas_Cod_Daltonicos.jpg"
IMG_29 RCDATA "IMG\\porciones.jpg" 
Responder Con Cita