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

Код не выполняется в одном месте, но выполняется в другом - C++

Восстановить пароль Регистрация
 
vlad892
0 / 0 / 0
Регистрация: 30.12.2012
Сообщений: 6
30.12.2012, 17:04     Код не выполняется в одном месте, но выполняется в другом #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
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    PAINTSTRUCT ps;
    HDC hdc;
    static LARGE_INTEGER pli;
    static LPDWORD drd;
 
    
    static HANDLE fl = CreateFile(L"qs.txt",GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, 0, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); 
    static char bf[4000];
    char szBuffer[40];
 
    static int pos = -1; // символ не найден
 
    switch (message)
    {
    case WM_CREATE:
        GetFileSizeEx(fl, &pli);
        ReadFile(fl, &bf, 100, drd, 0);
        
            
        for ( int i = 0; i < pli.QuadPart; i++ )
        if ( bf[i] == 'И' )
        {
            pos = i;
            break;
        }
        
        break;
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        TextOutA(hdc, 20, 20, /*bf,pli.QuadPart);*/ szBuffer,wsprintfA(szBuffer, "%d", pos));
        EndPaint(hWnd, &ps);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
Фрагмент
C++
1
2
3
4
5
6
for ( int i = 0; i < pli.QuadPart; i++ )
        if ( bf[i] == 'И' )
        {
            pos = i;
            break;
        }
Выполняется в событии WM_PAINT, но не выполняется в WM_CREATE. Почему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2012, 17:04     Код не выполняется в одном месте, но выполняется в другом
Посмотрите здесь:

C++ Феномен в одном месте в другом нет
C++ не выполняется switch
C++ Не выполняется сортировка
C++ Не выполняется условие
код в одном проекте работает,в другом нет C++
C++ Не выполняется код
Не выполняется код в цикле в приведенном коде C++
C++ Не выполняется цикл

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
30.12.2012, 17:54     Код не выполняется в одном месте, но выполняется в другом #2
breakpoints ставил, проверял?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
30.12.2012, 19:09     Код не выполняется в одном месте, но выполняется в другом #3
Цитата Сообщение от vlad892 Посмотреть сообщение
но не выполняется в WM_CREATE.
А уверены, что не выполняется?
Yandex
Объявления
30.12.2012, 19:09     Код не выполняется в одном месте, но выполняется в другом
Ответ Создать тему
Опции темы

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