Mensaje    Asunto: Solucionado primera función A4 Responder citando

Leo, leí en el foro y encontré una respuesta tuya a otro usuario que pensé que podría ser el mismo caso que el mio.
_Leo escribió:
Esta correcto, el problema es que en el modo “Release” se activan las optimizaciones y con esa función se ve que dan algún problema, habría que mirarlo con más tranquilidad el porque... de momento lo puedes solucionar desactivando las optimizaciones para esa función en concreto poniendo la siguiente línea antes de la función:

#pragma option push -Od

y la siguiente después de la función:

#pragma option pop

Luis Anibal escribió:
En alguna parte vi que tambien hay que poner
#pragma link "Excel_2K_SRVR"

Esto solo es necesario cuando usas los componentes que trae el BCB para el Office y aun así no tendrías que añadirla manualmente se añadirá automáticamente si fuera necesario.


Pues resulta que al final haciendo esto funciona.
No creí que decir que compilaba en MODO RELEASE, fuese crucial:
Código:

//Función que comprueba que la Impresora predeterminada de Windows sea o soporte A4
#pragma option push -Od
bool TfrmOpciones::IsSelectedPrinterA4(void)
{
   bool ret = false;
     TCHAR ignore[MAX_PATH];
     HGLOBAL hMem = NULL;
     Printer()->GetPrinter(ignore, ignore, ignore, (UINT&)hMem);
     PDEVMODE dev = (PDEVMODE) GlobalLock(hMem);
     try
     {
         ret = (dev->dmFields & DM_PAPERSIZE) && (dev->dmPaperSize == DMPAPER_A4);
     }
     __finally
       {
            GlobalUnlock(hMem);
        }

    return ret;
}
#pragma option pop
//---------------------------------------------------------------------------


Como siempre estamos intentando mejorar, ahora que ya está resuelto, me queda la duda sobre el otro post "Continuación A4 para Leo", para ver si hay alguna solución para que al EXPORTAR A .PDF con:
Código:

// Creo el Filtro
            TQRPDFDocumentFilter* Filtro = new TQRPDFDocumentFilter(Fichero);

            Filtro->Concatenating = true; // Inicializa Filtro
            frmImprimirCajaA4->Tiquet->ExportToFilter(Filtro); // Exporta el Informe
            Filtro->EndConcat(); // Terminar el proceso de Recibir Informe
            delete Filtro; // Destruyo el Filtro


Poder modificar algo en el codigo para que EXPORTE sin problemas y sin tener en cuetna que IMPRESORA está PREDETERMINADA en WINDOWS.
_________________
Muchos hombres no se equivocan jamás porque no se proponen nada razonable.