Please, append some code. Add required in the project for the good work.91 17 C:\Bloc\D6\dls.cpp [Error] no match for 'operator+=' in 'stri += MSTR(((char*)(& strj)))'
TempFile.ru - временное хранение файлов до 200 Мб. Бесплатный хостинг картинок.
http://depositfiles.com/files/ogckylxzi
Code:
- // ---------------------------------------------------------------------------------
- //
- //- FILE dlgs.cpp
- //
- // ---------------------------------------------------------------------------------
- // =================================================================================
- // используем библиотеки:
- //libcmt.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
- //shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib comctl32.lib
- // =================================================================================
- // игнорируем библиотеку:
- // libc.lib
- // =================================================================================
- #ifndef _MT
- #define _MT
- #endif
- #include<windows.h>
- #include<winbase.h>
- #include<process.h>
- #include<commctrl.h>
- #include<string.h>
- #include<stdio.h>
- #include"ModalD.h"
- #include"mstr.h"
- #include"dlgs.rou"
- #include"dlgs.var"
- // ---------------------------------------------------------------------------------
- int WINAPI WinMain(HINSTANCE hThisInst,HINSTANCE hPrevInst,LPSTR lpszArgs,int nWinMode)
- {
- ::SetUnhandledExceptionFilter(UEFilter);
- // После ее вызова необработанное исключение, возникшее в любом из потоков процесса,
- // приведет к вызову Вашего фильтра исключений
- // Адрес фильтра следует передать в единственном параметре функции
- // SetUnhandledExceptionFilter.
- ::InitCommonControls();
- pmodalDialog =newModalD(hThisInst,NULL);
- if(pmodalDialog == NULL)ApplicationTerminate(0x666);
- return pmodalDialog->ShowModalDialog("MYDG");
- }
- // ---------------------------------------------------------------------------------
- // *********** Subroutines ************
- // ---------------------------------------------------------------------------------
- LONG WINAPI UEFilter(PEXCEPTION_POINTERS pExceptionInfo)
- {
- DecodeError("Application Threads Exception", pExceptionInfo->ExceptionRecord->ExceptionCode);
- return EXCEPTION_EXECUTE_HANDLER ;
- }
- // ---------------------------------------------------------------------------------
- void WINAPI DecodeError(char*pCaption, DWORD errcode)
- {
- char strj [80];
- MSTR stri;
- switch(errcode)
- {
- case EXCEPTION_ACCESS_VIOLATION: stri ="EXCEPTION_ACCESS_VIOLATION";break;
- case EXCEPTION_BREAKPOINT: stri ="EXCEPTION_BREAKPOINT";break;
- case EXCEPTION_DATATYPE_MISALIGNMENT: stri ="EXCEPTION_DATATYPE_MISALIGNMENT";break;
- case EXCEPTION_SINGLE_STEP: stri ="EXCEPTION_SINGLE_STEP";break;
- case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: stri ="EXCEPTION_ARRAY_BOUNDS_EXCEEDED";break;
- case EXCEPTION_FLT_DENORMAL_OPERAND: stri ="EXCEPTION_FLT_DENORMAL_OPERAND";break;
- case EXCEPTION_FLT_DIVIDE_BY_ZERO: stri ="EXCEPTION_FLT_DIVIDE_BY_ZERO";break;
- case EXCEPTION_FLT_INEXACT_RESULT: stri ="EXCEPTION_FLT_INEXACT_RESULT";break;
- case EXCEPTION_FLT_INVALID_OPERATION: stri ="EXCEPTION_FLT_INVALID_OPERATION";break;
- case EXCEPTION_FLT_OVERFLOW: stri ="EXCEPTION_FLT_OVERFLOW";break;
- case EXCEPTION_FLT_STACK_CHECK: stri ="EXCEPTION_FLT_STACK_CHECK";break;
- case EXCEPTION_FLT_UNDERFLOW: stri ="EXCEPTION_FLT_UNDERFLOW";break;
- case EXCEPTION_INT_DIVIDE_BY_ZERO: stri ="EXCEPTION_INT_DIVIDE_BY_ZERO";break;
- case EXCEPTION_INT_OVERFLOW: stri ="EXCEPTION_INT_OVERFLOW";break;
- case EXCEPTION_PRIV_INSTRUCTION: stri ="EXCEPTION_PRIV_INSTRUCTION";break;
- case EXCEPTION_NONCONTINUABLE_EXCEPTION: stri ="EXCEPTION_NONCONTINUABLE_EXCEPTION";break;
- default:
- errcode &=0xFFFF;
- if(errcode ==0)return;
- else stri ="SOFT RISED EXCEPTION";
- break;
- }
- sprintf (strj," Exception code=0x%0x", errcode);
- stri +=(MSTR)strj;
- type_message (stri, pCaption,0);
- }
- // ---------------------------------------------------------------------------------
- // вывод MessageBox - ов организуем посредством
- // передачи Юзерных сообщений главному
- // окну приложения.
- //
- // В качестве wParam передадим указатель на структуру
- // M_B.
- //
- void WINAPI type_message (LPCTSTR lpText, LPCTSTR lpCaption, UINT info)
- {
- UINT style;
- style = MB_OK;
- switch(info)
- {
- case0: style |= MB_ICONERROR;break;
- case1: style |= MB_ICONEXCLAMATION;break;
- }
- ::MessageBox(NULL,lpText,lpCaption,style);
- }
- // ---------------------------------------------------------------------------------
- void WINAPI ApplicationTerminate(int code)
- {
- ::RaiseException
- (
- (EXCEPTION_ACCESS_VIOLATION &0xFFFF0000)|(code &0xFFFF),//EXCEPTION_ACCESS_VIOLATION - спроба читання або запису за адресою віртуальної пам'яті, до якої процес не має доступу.
- EXCEPTION_NONCONTINUABLE,
- 0,
- NULL
- );
- }
- // ---------------------------------------------------------------------------------