| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
JesúsGandia Master


Registrado: 17 Jul 2004Mensajes: 403Ubicación: Gandia, Valencia
|
Publicado: Mar 16 Feb, 2010 5:21 pm Asunto: Imagenes en DLL en 2010 Falla, Ayuda |
|
|
El siguiente código lo tengo en un proyecto de Builder 2007 y me funciana perfectamente, pero ahora al pasarlo al Builder 2010 me dá un error de compilación, y no se como solucionarlo.
Este es el codigo:
| Código: |
HINSTANCE TPVBarmanDll;
TPVBarmanDll = LoadLibrary("TPVBarman.dll");
if(TPVBarmanDll != 0)// Comprobar si ha cargado la DLL
{
Graphics::TBitmap *Imagen = new Graphics::TBitmap;
TJPEGImage *Imagen_JPG = new TJPEGImage();
// Cargamos las imágenes de la DLL en el los Botones del Panel Operador
Imagen->LoadFromStream(&TResourceStream(reinterpret_cast<int>(TPVBarmanDll), "P_Operador_1", RT_RCDATA));
frmVentas->BtnCambioCamarero->Glyph->Assign(Imagen);
}
|
El error de compilacion me dice que no puede encontrar un semaforo para TResourceStream.
El mensaje de Error de Compilacion:
[/code] _________________ Muchos hombres no se equivocan jamás porque no se proponen nada razonable. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 16 Feb, 2010 8:28 pm Asunto: |
|
|
Prueba cambiando: | Código: | TResourceStream(reinterpret_cast<int>(TPVBarmanDll), "P_Operador_1", RT_RCDATA) | por: | Código: | TResourceStream(reinterpret_cast<int>(TPVBarmanDll), L"P_Operador_1", reinterpret_cast<wchar_t*>(RT_RCDATA)) | o por: | Código: | TResourceStream(reinterpret_cast<int>(TPVBarmanDll), "P_Operador_1", MAKEINTRESOURCEW(10)) |
https://cppbuilder.es/viewtopic.php?t=13410 |
|
| Volver arriba |
|
 |
JesúsGandia Master


Registrado: 17 Jul 2004Mensajes: 403Ubicación: Gandia, Valencia
|
Publicado: Mar 16 Feb, 2010 8:58 pm Asunto: |
|
|
Gracias Leo, ya lo habia solucionado sustituyendo esta linea:
| Código: |
Imagen->LoadFromStream(&TResourceStream(reinterpret_cast<int>(TPVBarmanDll), "P_Operador_1", RT_RCDATA)); |
por esta otra:
| Código: |
Imagen->LoadFromStream(&TResourceStream(reinterpret_cast<int>(TPVBarmanDll), "P_Operador_1", (wchar_t*)RT_RCDATA)); |
La solución ya estaba en el foro, pero me funciona igual poniendo una L delante de "P_Operador_1" es decir L"P_Operador_1" que si no la pongo.
Puedes explicar para que es la L y si dá igual ponerlo o NO?
GRACIAS. _________________ Muchos hombres no se equivocan jamás porque no se proponen nada razonable. |
|
| Volver arriba |
|
 |
JesúsGandia Master


Registrado: 17 Jul 2004Mensajes: 403Ubicación: Gandia, Valencia
|
Publicado: Mar 16 Feb, 2010 9:04 pm Asunto: |
|
|
Ahora me surge otro problema, pero esta vez en ejecución, concretamente cuando ejecuto un procedimiento con ->ExecProc()
| Código: | // Función para conmprobar articulos conpletos en HistoricoArticulos
int __fastcall ComprobarArticulo_Historico(AnsiString ArtCompleto, short int Familia)
{
MDatos->IBSPBuscarArtHist->ParamByName("Familia")->AsShortInt = Familia;
MDatos->IBSPBuscarArtHist->ParamByName("ArtCompleto")->AsString = ArtCompleto;
MDatos->IBSPBuscarArtHist->ExecProc(); //ME DA UN ERROR EN ESTA LINEA
return MDatos->IBSPBuscarArtHist->ParamByName("Codigo")->AsInteger;
} |
Sale una excepcion diciendo "Unsupported feacture"
Esta funcion la utilizaba con inberbase 2007 y Builder 2007 sin problemas.
Ahora tengo interbase 2009 y Builder 2010. _________________ Muchos hombres no se equivocan jamás porque no se proponen nada razonable.
Ultima edición por JesúsGandia el Mar 16 Feb, 2010 9:07 pm, editado 1 vez |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 16 Feb, 2010 9:06 pm Asunto: |
|
|
| JesúsGandia escribió: | | Puedes explicar para que es la L y si dá igual ponerlo o NO? |
La 'L' es para indicar que es 'wchar_t' en vez de 'char'.
En este caso si da igual, ya que el argumento que se espera es 'UnicodeString' y esta clase tiene tanto un constructor con 'wchar_t*' como con 'char*'. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 16 Feb, 2010 9:21 pm Asunto: |
|
|
| JesúsGandia escribió: | | Ahora me surge otro problema, pero esta vez en ejecución, concretamente cuando ejecuto un procedimiento con ->ExecProc() |
https://cppbuilder.es/viewtopic.php?p=43584 |
|
| Volver arriba |
|
 |
|