Форум программистов, компьютерный форум CyberForum.ru

unknown software exception (0x00000fd) в приложении по адресу 0x00401569 - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.71
SWORDMAN
0 / 0 / 0
Регистрация: 18.02.2010
Сообщений: 3
24.05.2010, 12:47     unknown software exception (0x00000fd) в приложении по адресу 0x00401569 #1
Всем привет) Помогите разобратся с ошибкой.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include <windows.h>
 
HINSTANCE hInstance;
 
 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
 
 
ATOM RegMyWindowClass(HINSTANCE, LPCTSTR);
 
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrewInstance, LPSTR lpCmdLine, int nCmdShow)
{
 
    LPCSTR lpzClass = TEXT("My Window Class");
 
    if (!RegMyWindowClass(hInstance, lpzClass))
        return 1;
 
    RECT screen_rect;
    GetWindowRect(GetDesktopWindow(), &screen_rect);
    int x1=screen_rect.right/4+150;
    int y1=screen_rect.bottom/4;                            
 
 
                                                
    HWND hWnd=CreateWindowEx(WS_EX_NOPARENTNOTIFY, lpzClass, TEXT("Dialog Window"), WS_POPUPWINDOW | WS_CAPTION | WS_VISIBLE, x1, y1, 300, 300, NULL, NULL, hInstance, NULL); 
 
    HWND hWnd2=CreateWindowEx(WS_EX_CLIENTEDGE, "edit", "", WS_CHILD | WS_VISIBLE | ES_CENTER | ES_UPPERCASE , 30, 20, 200, 22, hWnd, (HMENU)10001, hInstance, NULL);
    HWND hWnd3=CreateWindowEx(WS_EX_CLIENTEDGE, "edit", "", WS_CHILD | WS_VISIBLE | ES_CENTER | ES_UPPERCASE , 30, 70, 200, 22, hWnd, (HMENU)10002, hInstance, NULL);
    HWND hWnd4=CreateWindowEx(WS_EX_CLIENTEDGE, "edit", "", WS_CHILD | WS_VISIBLE | ES_CENTER | ES_UPPERCASE , 30, 180, 200, 22, hWnd, (HMENU)10002, hInstance, NULL);
    HWND hWnd5=CreateWindow("button", "...", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 240, 20, 20, 22, hWnd, (HMENU)20001, hInstance, NULL); 
    HWND hWnd6=CreateWindow("button", "...", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 240, 70, 20, 22, hWnd, (HMENU)20002, hInstance, NULL); 
    HWND hWnd7=CreateWindow("button", "...", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 240, 180, 20, 22, hWnd, (HMENU)20003, hInstance, NULL); 
    HWND hWnd8=CreateWindow("button", "Копіювати", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 30, 120, 100, 22, hWnd, (HMENU)20004, hInstance, NULL);
    HWND hWnd9=CreateWindow("button", "Перемістити", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 160, 120, 100, 22, hWnd, (HMENU)20005, hInstance, NULL);
    HWND hWnd10=CreateWindow("button", "Видалити", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 30, 220, 230, 22, hWnd, (HMENU)20006, hInstance, NULL);
 
 
 
    if(!hWnd) return 2;
 
    MSG msg={0}; 
    int iGetOk=0; 
    while ((iGetOk=GetMessage(&msg, NULL, 0, 0))!=0)
    {
        if (iGetOk==-1) return 3; 
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
 
 
    return msg.wParam;
    
}
 
 
ATOM RegMyWindowClass(HINSTANCE hInst, LPCTSTR lpzClassName)
{       
  WNDCLASS wcWindowClass = {0}; 
  wcWindowClass.lpfnWndProc = (WNDPROC)WndProc; 
  wcWindowClass.style =CS_VREDRAW; 
  wcWindowClass.hInstance = hInst;  
  wcWindowClass.lpszClassName = lpzClassName;   
  wcWindowClass.hCursor = LoadCursor(NULL, IDC_ARROW);  
  wcWindowClass.hbrBackground = (HBRUSH)COLOR_MENU; 
  return RegisterClass(&wcWindowClass); 
}
 
 
 
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch(message)
    {
 
    case  WM_INITDIALOG:
 
          break;
    case WM_HOTKEY: 
    
          break;
 
    case WM_COMMAND:
        
         if (LOWORD(wParam)==20003)
        {
            OPENFILENAME OpenFileName;
            memset(&OpenFileName, 0, sizeof(OPENFILENAME));
            OpenFileName.lStructSize    = sizeof(OPENFILENAME);
    
            if(GetOpenFileName(&OpenFileName)==TRUE)
            {
                
            }
        }
            
          break;
 
    case WM_TIMER:
 
            break;
    case WM_CLOSE:
            SendMessage(hWnd, WM_CLOSE, 0, 0);
            break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
 
    return 0;
}
 
 
 
 
OPENFILENAME OpenFileName;
memset(&OpenFileName, 0, sizeof(OPENFILENAME));
OpenFileName.lStructSize    = sizeof(OPENFILENAME);
if(GetOpenFileName(&OpenFileName)==TRUE)
{               
}
При закритии диалога выбора файлов он закривается все нормально, но потом при закритии основной програми (если до того был открит, закрит диалог) вискакивает ошибка

Исключение unknown software exception (0x00000fd) а приложении по адресу 0x00401569

Добавлено через 14 часов 25 минут
Проблему решил,


Код
 case WM_CLOSE: PostQuitMessage(0);
                         break;
вместо

Код
 case WM_CLOSE:SendMessage(hWnd, WM_CLOSE, 0, 0);
                        break;
Можете закривать тему)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2010, 12:47     unknown software exception (0x00000fd) в приложении по адресу 0x00401569
Посмотрите здесь:

C++ exception при вызове функции по адресу (MAPILogon)
C++ unknown type name: bool
исключение unknown software exception (0x0000094) в приложении по адресу C++
C++ Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC
C++ Необработанное исключение по адресу 0x00105FD7 в Динамические структуры: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCDCDCE09
C++ Исправить ошибку: необработанное исключение по адресу, нарушение прав доступа при записи по адресу
First chance exception at $77ADB09E. Exception class EAccessViolation with message 'Access Violation'. Process C++
Необработанное исключение по адресу, нарушение прав доступа при записи по адресу C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 02:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru