Ошибка:
Run-Time Check Failure #3 - The variable 'TextLabelVar' is being used without
being initialized.
Иллюстративный код:
HWND VarText;
char Disps[100];
float some_number;
WINAPI WndProc(..)
{
switch(...)
case WM_CREATE:
TextLabelVar=CreateWindowEx(WS_EX_WINDOWEDGE,TEXT("Edit"), TEXT("Val."), WS_CHILD \
| WS_VISIBLE, 380, 50, 140, 20, hwnd, NULL, NULL, NULL);
break;
case WM_MESSAGEFROMANOTHERWINDOW:
some_number=1298.123123;
sprintf(Disps,"%f",some_number);
SetWindowText(TextLabelVar,TEXT(Disps));
}
Вопрос:
Хорошо, я получаю сообщение об ошибке TextLabelVar используется без инициализации. Я получил аналогичную ошибку для Var Disps. Затем я объявил char Disps [100]; Это не показало ошибки. Теперь ошибка перемещается на ручку. Я не уверен, что могу объявить дескриптор как массив, и это имеет смысл. Как мне это решить?
Это ошибка во время выполнения. Что это говорит вам о том, что TextLabelVar
читается до того, как инициализируется. А это значит, что WM_MESSAGEFROMANOTHERWINDOW
заявление дела, выполненное ранее WM_CREATE
,
Из ваших комментариев 0
в TextLabelVar
подавить предупреждение, но затем, конечно, вызов SetWindowText
не может быть успешным, так как дескриптор окна, который вы передаете 0
,
Чтобы решить проблему, нужно понять, почему WM_MESSAGEFROMANOTHERWINDOW
обрабатывается раньше WM_CREATE
,
Других решений пока нет …