Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
 Аватар для Natsu_Zirok
-1 / 0 / 3
Регистрация: 14.10.2013
Сообщений: 156

Необъявленный идентификатор hInstance или GetWindowText

03.06.2014, 11:55. Показов 3564. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здрасте!
Проблема в том что я не могу получить текст из edit'ов
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
case WM_CREATE:
        CreateWindowEx(WS_EX_CLIENTEDGE, 
        "edit", 
        IniRead("D:\\ZFP\\SLs.ini", "All", "Login"), 
        WS_CHILD | WS_VISIBLE | ES_LEFT,
                10, 
        10, 
        120, 
        20, 
        hwnd, 
        (HMENU)10, 
        hInstance, 
        NULL);
        CreateWindowEx(WS_EX_CLIENTEDGE, 
        "edit", 
        IniRead("D:\\ZFP\\SLs.ini", "All", "Password"), 
        WS_CHILD | WS_VISIBLE | ES_LEFT | ES_PASSWORD,
                140, 
        10, 
        120, 
        20, 
        hwnd, 
        (HMENU)11, 
        hInstance, 
        NULL);
        break;
"Не объявленный индефикатор hInstance" Что делать? (Win32 API)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.06.2014, 11:55
Ответы с готовыми решениями:

WindowProc необъявленный идентификатор
Не могу понять в чем проблема WindowProc=FuncWndProc; void FuncWndProc(Message winmes); { ////////// } пишет, что...

Error C2065: amp: необъявленный идентификатор
#include "stdafx.h" #include <iostream> #include <windows.h> #include <stdio.h> using namespace std; #define THREADCOUNT 2 ...

Error C2065: WM_LBATTONDOUN: необъявленный идентификатор
алгоритм работы программы: функция окна обрабатывает сообщения и в зависимости от их значения записывает информацию в переменные которые...

11
52 / 11 / 5
Регистрация: 29.10.2013
Сообщений: 102
03.06.2014, 13:12
Очевидно же, объявить.

C
1
HINSTANCE hInstance;
0
 Аватар для Natsu_Zirok
-1 / 0 / 3
Регистрация: 14.10.2013
Сообщений: 156
03.06.2014, 13:35  [ТС]
он у меня объявлен в WinMain
Сразу видно кто не разбирается в Win32 Api
0
52 / 11 / 5
Регистрация: 29.10.2013
Сообщений: 102
03.06.2014, 13:39
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
он у меня объявлен в WinMain
Пересмотри то, что ты запостил. Каков вопрос, таков и ответ.

Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
Сразу видно кто не разбирается в Win32 Api
Годный вброс, да вот не дождешься
0
 Аватар для Natsu_Zirok
-1 / 0 / 3
Регистрация: 14.10.2013
Сообщений: 156
03.06.2014, 14:11  [ТС]
Цитата Сообщение от feslent Посмотреть сообщение
Пересмотри то, что ты запостил. Каков вопрос, таков и ответ
Логично.
Цитата Сообщение от feslent Посмотреть сообщение
Годный вброс, да вот не дождешься
Я туплю после ошибки реестра
0
52 / 11 / 5
Регистрация: 29.10.2013
Сообщений: 102
03.06.2014, 14:21
Так и не ясно какой вопрос: то ли "Не объявленный индефикатор", то ли "не могу получить текст из edit'ов", в сопровождении кода сомнительного происхождения. Без обид, но нифига непонятен смысл данной темы. Больше кода покажи, хотя-бы.
0
 Аватар для Natsu_Zirok
-1 / 0 / 3
Регистрация: 14.10.2013
Сообщений: 156
03.06.2014, 16:34  [ТС]
Вот весь код
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#include <windows.h>
char *IniRead(char *filename, char *section, char *key){
    char *out = new char[512];
    GetPrivateProfileString(
        (LPCSTR)section, 
        (LPCSTR)key,
        NULL, 
        out,
        200, 
        (LPCSTR)filename
    );
    return out;
} 
bool IniWrite(char *filename, char *section, char *key, char *data){
    return WritePrivateProfileString(
                                (LPCSTR)section,
                                (LPCSTR)key,
                                (LPCSTR)data,
                                (LPCSTR)filename
    );
 
}
 
LONG WINAPI WndProc(HWND, UINT, WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR     lpCmdLine,
                   int       nCmdShow)
{
    HWND hwnd;
    MSG msg;
    WNDCLASS w;
    memset(&w, 0, sizeof(WNDCLASS));
    w.style = CS_HREDRAW | CS_VREDRAW;
    w.lpfnWndProc = WndProc;
    w.hInstance = hInstance;
    w.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
    w.lpszClassName = "ZFP MC";
    RegisterClass(&w);
    hwnd = CreateWindow("ZFP MC", 
        "Zirok Fabius Project", 
        WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX,
        250, 
        120, 
        285, 
        118, 
        NULL, 
        NULL, 
        hInstance, 
        NULL);
    CreateWindow("button", 
        "Вход", 
        WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
        10, 
        40, 
        50, 
        30, 
        hwnd, 
        (HMENU)100,
        hInstance, NULL);
    CreateWindow("button", 
        "Запомнить пароль", 
        WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX,
        70, 
        40, 
        145, 
        30, 
        hwnd, 
        (HMENU)101, 
        hInstance, 
        NULL);
    ShowWindow(hwnd,nCmdShow);
    UpdateWindow(hwnd);
    while(GetMessage(&msg,NULL,0,0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}
 
LONG WINAPI WndProc(HWND hwnd, UINT Message, WPARAM wparam, LPARAM lparam)
{
    static HWND pass_out;
    static HWND login_out;
    
    char LOGIN[16];
    char PASSWORD[16];
 
    switch (Message){
    case WM_DESTROY: 
        PostQuitMessage(0);
        break;
    case WM_CREATE:
        login_out = CreateWindowEx(WS_EX_CLIENTEDGE, 
        "edit", 
        IniRead("D:\\ZFP\\SLs.ini", "All", "Login"), 
        WS_CHILD | WS_VISIBLE | ES_LEFT,
        10, 
        10, 
        120, 
        20, 
        hwnd, 
        (HMENU)10, 
        hInstance, 
        NULL);
        pass_out = CreateWindowEx(WS_EX_CLIENTEDGE, 
        "edit", 
        IniRead("D:\\ZFP\\SLs.ini", "All", "Password"), 
        WS_CHILD | WS_VISIBLE | ES_LEFT | ES_PASSWORD,
        140, 
        10, 
        120, 
        20, 
        hwnd, 
        (HMENU)11, 
        hInstance, 
        NULL);
        break;
    case WM_COMMAND:
        if (LOWORD(wparam)==100){
            // Получаем HWND нашего chechbox'а.
            HWND hwndCheck = GetDlgItem(hwnd, 101);
            // Выясняем текущее состояние chechbox'а.
            LRESULT res = SendMessage (hwndCheck, BM_GETCHECK, 0, 0);
            GetWindowText(login_out,LOGIN,16);
            GetWindowText(pass_out,PASSWORD,16);
            // Если галочка стоит.
            if(res == BST_CHECKED){
                char login_in[15] = {LOGIN[16]};
                char pass_in[15] = {PASSWORD[16]};
                IniWrite("D:\\ZFP\\SLs.ini", "All", "Login", login_in);
                IniWrite("D:\\ZFP\\SLs.ini", "All", "Password", pass_in);
            }
            if(res == BST_UNCHECKED){
                char login_in[15] = "Natsu_Zirok";
                IniWrite("D:\\ZFP\\SLs.ini", "All", "Login", login_in);
            }
        }
        break;
    default:
        return DefWindowProc(hwnd, Message, wparam, lparam);
    }
    return 0;
}
Добавлено через 1 час 43 минуты
Создал другой HINSTANCE textInstance. Теперь в файле ћ вместо текста

Добавлено через 9 минут
Ладно, другой вопрос: КАК ПОЛУЧИТЬ ТЕКСТ ИЗ EDIT?????!!!!!
Надоело ждать ответа
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
03.06.2014, 16:55
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
char login_in[15] = {LOGIN[16]};
char pass_in[15] = {PASSWORD[16]};
В чем смысл этих строк?
0
 Аватар для Natsu_Zirok
-1 / 0 / 3
Регистрация: 14.10.2013
Сообщений: 156
03.06.2014, 19:46  [ТС]
Цитата Сообщение от dmitry94 Посмотреть сообщение
В чем смысл этих строк?
Переприсвоение...
0
 Аватар для jonson
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
03.06.2014, 20:11

Не по теме:

Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
Создал другой HINSTANCE textInstance. Теперь в файле ћ вместо текста
дык мож быть создать и третий, всё таки бог любит троицу:popcorn:


Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
другой вопрос: КАК ПОЛУЧИТЬ ТЕКСТ ИЗ EDIT?????!!!!!
GetWindowText, WM_GETTEXT, GetDlgItemText
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
04.06.2014, 05:07
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
Переприсвоение...
В моем понимании
C++
1
char login_in[15] = {LOGIN[16]};
аналогично:
C++
1
2
char login_in[15];
login_in[0] = LOGIN[16];
Здесь 3 проблемы:
1. элемент LOGIN[16] выходит за размеры LOGIN;
2. в строка login_in присвоен только первый символ (непонятно чему)
3. В этом нет никакого смысла, так как нужные строки уже получены GetWindowText().
0
 Аватар для Natsu_Zirok
-1 / 0 / 3
Регистрация: 14.10.2013
Сообщений: 156
04.06.2014, 07:56  [ТС]
Run-Time Check Failure #3 - The variable 'textInstance' is being used without being initialized.
После компиляции. А так все работает. Спасибо.

Добавлено через 4 минуты
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#include <windows.h>
char *IniRead(char *filename, char *section, char *key){
    char *out = new char[512];
    GetPrivateProfileString(
        (LPCSTR)section, 
        (LPCSTR)key,
        NULL, 
        out,
        200, 
        (LPCSTR)filename
    );
    return out;
} 
bool IniWrite(char *filename, char *section, char *key, char *data){
    return WritePrivateProfileString(
                                (LPCSTR)section,
                                (LPCSTR)key,
                                (LPCSTR)data,
                                (LPCSTR)filename
    );
 
}
 
LONG WINAPI WndProc(HWND, UINT, WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR     lpCmdLine,
                   int       nCmdShow)
{
    HWND hwnd;
    MSG msg;
    WNDCLASS w;
    memset(&w, 0, sizeof(WNDCLASS));
    w.style = CS_HREDRAW | CS_VREDRAW;
    w.lpfnWndProc = WndProc;
    w.hInstance = hInstance;
    w.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
    w.lpszClassName = "ZFP MC";
    RegisterClass(&w);
    hwnd = CreateWindow("ZFP MC", 
        "Zirok Fabius Project", 
        WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX,
        250, 
        120, 
        285, 
        118, 
        NULL, 
        NULL, 
        hInstance, 
        NULL);
    CreateWindow("button", 
        "Вход", 
        WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
        10, 
        40, 
        50, 
        30, 
        hwnd, 
        (HMENU)100,
        hInstance, NULL);
    CreateWindow("button", 
        "Запомнить пароль", 
        WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX,
        70, 
        40, 
        145, 
        30, 
        hwnd, 
        (HMENU)101, 
        hInstance, 
        NULL);
    ShowWindow(hwnd,nCmdShow);
    UpdateWindow(hwnd);
    while(GetMessage(&msg,NULL,0,0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}
 
LONG WINAPI WndProc(HWND hwnd, UINT Message, WPARAM wparam, LPARAM lparam)
{
    HINSTANCE textInstance;
    static HWND pass_out;
    static HWND login_out;
    
    char LOGIN[16];
    char PASSWORD[16];
 
    switch (Message){
    case WM_DESTROY: 
        PostQuitMessage(0);
        break;
    case WM_CREATE:
        login_out = CreateWindowEx(WS_EX_CLIENTEDGE, 
        "edit", 
        IniRead("D:\\ZFP\\SLs.ini", "All", "Login"), 
        WS_CHILD | WS_VISIBLE | ES_LEFT,
        10, 
        10, 
        120, 
        20, 
        hwnd, 
        (HMENU)10, 
        textInstance, 
        NULL);
        pass_out = CreateWindowEx(WS_EX_CLIENTEDGE, 
        "edit", 
        IniRead("D:\\ZFP\\SLs.ini", "All", "Password"), 
        WS_CHILD | WS_VISIBLE | ES_LEFT | ES_PASSWORD,
        140, 
        10, 
        120, 
        20, 
        hwnd, 
        (HMENU)11, 
        textInstance, 
        NULL);
        break;
    case WM_COMMAND:
        if (LOWORD(wparam)==100){
            // Получаем HWND нашего chechbox'а.
            HWND hwndCheck = GetDlgItem(hwnd, 101);
            // Выясняем текущее состояние chechbox'а.
            LRESULT res = SendMessage (hwndCheck, BM_GETCHECK, 0, 0);
            GetWindowText(login_out,LOGIN,16);
            GetWindowText(pass_out,PASSWORD,16);
            // Если галочка стоит.
            if(res == BST_CHECKED){
                IniWrite("D:\\ZFP\\SLs.ini", "All", "Login", LOGIN);
                IniWrite("D:\\ZFP\\SLs.ini", "All", "Password", PASSWORD);
            }
            if(res == BST_UNCHECKED){
                IniWrite("D:\\ZFP\\SLs.ini", "All", "Login", LOGIN);
            }
        }
        break;
    default:
        return DefWindowProc(hwnd, Message, wparam, lparam);
    }
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.06.2014, 07:56
Помогаю со студенческими работами здесь

Error C2065: WndProc: необъявленный идентификатор
Введено всё правильно должно открыться пустое окно но вылетает ошибка проблема в 16 строке с функцией WndProc . Код взят из книги...

Ошибка в коде "msg - необъявленный идентификатор"
Здравствуйте, только начинаю изучать Win32 API, и в учебнике был написан вот этот код #include &lt;Windows.h&gt; #include...

Необъявленный идентификатор
И снова ВСЕМ добрый вечер!!!:) Написав десяток примеров из книги, в качестве упражнений для себя и закрепления материала решил на...

Необъявленный идентификатор
addClientCommand( &quot;m0d_tele_locations&quot;, (int)cmd_tele_locations ); addClientCommand( &quot;m0d_teleport_locations&quot;, (int)cmd_tele_locations );...

Необъявленный идентификатор
Думаю проблему в скобках, где не могу найти=( #include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; void main() { ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru