#include "Util.h" #include "STDIO.h" /*====(MyMessageBox)======================================================== Description: Creates a message box. Syntax: L_INT MyMessageBox(HWND hWnd, LPSTR pCaption, UINT wType, LPSTR pFormat,...) ==========================================================================*/ L_INT MyMessageBox(HWND hWnd, LPSTR pCaption, UINT wType, LPSTR pFormat,...) { L_CHAR szText[256]; va_list ap; va_start (ap, pFormat); #ifdef _ALPHA_ wvsprintf (szText,pFormat,ap); #else vsprintf (szText, pFormat, (LPSTR) ap); #endif va_end (ap); return (MessageBoxA (hWnd, szText, pCaption, wType)); } /*====(L_FileError)========================================================= Description: Sets up parameters for an error message box, then displays the message box. Syntax: L_VOID L_FileError(HWND hwnd, L_INT nCode, LPSTR pTitle, LPSTR pFilename) ==========================================================================*/ L_VOID L_FileError(HWND hwnd, L_INT nCode, LPTSTR pTitle, LPTSTR pFilename) { L_TCHAR szErrorBuf[1024]; L_TCHAR szError[L_MAX_PATH]; memset(szErrorBuf, 0, (sizeof (L_TCHAR)*1024)); memset(szError, 0, (sizeof (L_TCHAR)*1024)); switch (nCode) { case ERROR_NO_MEMORY: wsprintf (szError, TEXT("Not enough memory available!")); break; case ERROR_NO_BITMAP: wsprintf (szError, TEXT("Invalid bitmap handle!")); break; case ERROR_MEMORY_TOO_LOW: wsprintf (szError, TEXT("Not enough memory available!")); break; case ERROR_FILE_LSEEK: wsprintf (szError, TEXT("Error seeking to position!")); break; case ERROR_FILE_WRITE: wsprintf (szError, TEXT("Error writing file!")); break; case ERROR_FILE_GONE: wsprintf (szError, TEXT("File not present - abort!")); break; case ERROR_FILE_READ: wsprintf (szError, TEXT("Error reading file!")); break; case ERROR_INV_FILENAME: wsprintf (szError, TEXT("Invalid filename specified!")); break; case ERROR_FILE_FORMAT: wsprintf (szError, TEXT("Invalid file format!")); break; case ERROR_FILENOTFOUND: wsprintf (szError, TEXT("File not found!")); break; case ERROR_INV_RANGE: wsprintf (szError, TEXT("Invalid width/height!")); break; case ERROR_IMAGE_TYPE: wsprintf (szError, TEXT("Image format recognized, but sub-type not supported!")); break; case ERROR_INV_PARAMETER: wsprintf (szError, TEXT("Invalid parameter!")); break; case ERROR_FILE_OPEN: wsprintf (szError, TEXT("Not able to open file!")); break; case ERROR_UNKNOWN_COMP: wsprintf (szError, TEXT("Unknown compression format!")); break; case ERROR_FEATURE_NOT_SUPPORTED: wsprintf (szError, TEXT("Feature not supported!")); break; case ERROR_NOT_256_COLOR: wsprintf (szError, TEXT("VGA card only supports 256 colors (8 bit)!")); break; case ERROR_PRINTER: wsprintf (szError, TEXT("Printer error!")); break; case ERROR_CRC_CHECK: wsprintf (szError, TEXT("Data CRC check error!")); break; case ERROR_QFACTOR: wsprintf (szError, TEXT("Invalid QFactor specified!")); break; case ERROR_TARGAINSTALL: wsprintf (szError, TEXT("TARGA not installed!")); break; case ERROR_OUTPUTTYPE: wsprintf (szError, TEXT("Invalid compression format!")); break; case ERROR_XORIGIN: wsprintf (szError, TEXT("X origin specified invalid!")); break; case ERROR_YORIGIN: wsprintf (szError, TEXT("Y origin specified invalid!")); break; case ERROR_VIDEOTYPE: wsprintf (szError, TEXT("Invalid video mode!")); break; case ERROR_BITPERPIXEL: wsprintf (szError, TEXT("Invalid bits/pixel!")); break; case ERROR_WINDOWSIZE: wsprintf (szError, TEXT("Invalid window size!")); break; case ERROR_NORMAL_ABORT: wsprintf (szError, TEXT("Escape key pressed!")); break; case ERROR_NO_STAMP: wsprintf (szError, TEXT("Stamp not found!")); break; case ERROR_G3CODE_INVALID: wsprintf (szError, TEXT("Invalid group 3 data!")); break; case ERROR_G3CODE_EOF: case ERROR_G3CODE_EOL: wsprintf (szError, TEXT("Group3 code end of code!")); break; case ERROR_PREMATURE_EOF: wsprintf (szError, TEXT("Premature EOF at scanline!")); break; case ERROR_PREMATURE_EOL: case ERROR_UNCOMP_EOF: case ERROR_ACT_INCOMP: case ERROR_BAD_DECODE_STATE: wsprintf (szError, TEXT("Premature end-of-line code!")); break; case ERROR_VERSION_NUMBER: wsprintf (szError, TEXT("Bad version number!")); break; case ERROR_TWAIN_NODSM: wsprintf (szError, TEXT("Source manager not found!")); break; case ERROR_TWAIN_BUMMER: wsprintf (szError, TEXT("Failure due to unknown causes!")); break; case ERROR_TWAIN_LOWMEMORY: wsprintf (szError, TEXT("Not enough memory to perform operation!")); break; case ERROR_TWAIN_NODS: wsprintf (szError, TEXT("No Data Source!")); break; case ERROR_TWAIN_MAXCONNECTIONS: wsprintf (szError, TEXT("DS is connected to max possible apps!")); break; case ERROR_TWAIN_OPERATIONERROR: wsprintf (szError, TEXT("DS or DSM reported error, app shouldn't!")); break; case ERROR_TWAIN_BADCAP: wsprintf (szError, TEXT("Unknown capability!")); break; case ERROR_TWAIN_BADPROTOCOL: wsprintf (szError, TEXT("Unrecognized MSG DG DAT combination!")); break; case ERROR_TWAIN_BADVALUE: wsprintf (szError, TEXT("Data parameter out of range!")); break; case ERROR_TWAIN_SEQERROR: wsprintf (szError, TEXT("DG DAT MSG out of expected sequence!")); break; case ERROR_TWAIN_BADDEST: wsprintf (szError, TEXT("Unknown destination App/Src in DSM_Entry!")); break; case ERROR_TWAIN_CANCEL: wsprintf (szError, TEXT("Operation was cancelled!")); break; case ERROR_NOT_ENOUGH_IMAGES: wsprintf (szError, TEXT("Not enough images to complete the process!")); break; case ERROR_IMAGE_EMPTY: wsprintf (szError, TEXT("Image is empty!")); break; case ERROR_NO_CHANGE: wsprintf (szError, TEXT("The image hasn't changed!")); break; case ERROR_LZW_LOCKED: wsprintf (szError, TEXT("LZW capability is required to load/save this file!")); break; case ERROR_DOCUMENT_NOT_ENABLED: wsprintf (szError, TEXT("Express capability is required to use this function!")); break; case ERROR_MEDICAL_NOT_ENABLED: wsprintf (szError, TEXT("Medical Express capability is required to use this function!")); break; case ERROR_JBIG_NOT_ENABLED: wsprintf (szError, TEXT("JBIG capability is required to use this function!")); break; case ERROR_FPX_FILE_IN_USE: wsprintf (szError, TEXT("Error accessing file. The file is probably already open!")); break; #if defined(WIN32) && !defined(_ALPHA_) case ERROR_ISIS_NOCURSCANNER: wsprintf (szError, TEXT("No ISIS Scanner selected!")); break; case ERROR_ISIS_CANCEL: wsprintf (szError, TEXT("ISIS Operation canceled!")); break; case ERROR_ISIS_SCANDRIVER_NOT_LOADED: wsprintf (szError, TEXT("ISIS Driver failed to load")); break; case ERROR_ISIS_BAD_TAG_OR_VALUE: case ERROR_ISIS_NOT_READY: case ERROR_ISIS_JAM: case ERROR_ISIS_SCANNER_ERROR: case ERROR_ISIS_BUSY: case ERROR_ISIS_FILE_ERROR: case ERROR_ISIS_NETWORK_ERROR: wsprintf (szError, TEXT("ISIS Scanner Error acquiring image!")); break; case ERROR_ISIS_NO_PAGE: wsprintf (szError, TEXT("No Page in ISIS Scanner!")); break; #endif case SUCCESS_DLG_EXPORTANDEXIT: case SUCCESS_DLG_EXIT: case SUCCESS_DLG_CLOSE: case SUCCESS_DLG_CANCEL: return; break; default: if(nCode >= ERROR_FPX_INVALID_FORMAT_ERROR && nCode <= ERROR_FPX_INVALID_TILE) wsprintf (szError, TEXT("Internal FlashPix error!")); else wsprintf (szError, TEXT("Internal or Unrecognized Error!")); break; } wsprintf ( szErrorBuf, TEXT ( "%s\nLEADTOOLS DLL Error (%d)\n%s" ), pFilename, nCode, szError) ; MessageBox ( hwnd, szErrorBuf, pTitle, MB_ICONEXCLAMATION | MB_OK ) ; }