Thread: Please, append the necessary code skillfully art created.

  1. #1
    Registered User
    Join Date
    Feb 2015
    Posts
    74

    Please, append the necessary code skillfully art created.

    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
    • );
    • }
    • // ---------------------------------------------------------------------------------
    Last edited by Дмитро; 12-29-2015 at 11:53 AM.

  2. #2
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,661
    Perhaps you could try
    MSTR temp = strj;
    stri += temp;


    Because simply casting something into something else won't perform the underlying conversions necessary (that a proper assignment will).

    Also, watch how you post code between code tags.
    A list full of colour/font tags is NOT how to do it.

    Make sure you "paste as text" when copy/pasting from your IDE.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  3. #3
    Registered User
    Join Date
    Feb 2015
    Posts
    74
    Однако, я дуже погано розумію цей код. Дякую за поради!
    Я взяв його в якості прикладу та навчання. Я досить таки погано зрозумів, що хотів автор коду. Можливо що, реально, не вистачає потрібного оператора перевантаження. Я так и не произвів компіляцию. Різні прийоми і різні хитрощі пробував, пробував, не вийшло.
    Наприклад, помилка 92 15 C: \ Bloc \ D6 \ dlgs.cpp [Error] no matching function for call to 'MSTR :: MSTR (MSTR)' arises.

    However, I'm pretty bad understand this code. Thanks for the tips!
    I took it as an example and learning. Bad enough I realized that the author wanted to code. Did that really lacks the desired operator overloading. I did not have occurred compilation. Various tricks and different tried, failed.
    For example, the error 92 15 C: \ Bloc \ D6 \ dlgs.cpp [Error] no matching function for call to 'MSTR :: MSTR (MSTR)' arises.
    Last edited by Дмитро; 12-29-2015 at 03:39 PM.

  4. #4
    Registered User
    Join Date
    Feb 2015
    Posts
    74
    stri += (MSTR&)strj;

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. append queue
    By stitches in forum C Programming
    Replies: 24
    Last Post: 09-11-2011, 06:31 AM
  2. Append one file to another.
    By guillermoh in forum C Programming
    Replies: 6
    Last Post: 02-04-2008, 12:04 PM
  3. Understading assembly code created by gcc
    By Nazgulled in forum C Programming
    Replies: 3
    Last Post: 04-30-2006, 09:58 AM
  4. Append to a file
    By Queatrix in forum Windows Programming
    Replies: 4
    Last Post: 07-12-2005, 02:12 AM