Error:
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
case 语句之前执行WM_CREATE
.
从您分配的评论中0
to TextLabelVar
抑制警告,但当然会调用SetWindowText
无法成功,因为您传递的窗口句柄是0
.
要解决问题,您需要了解原因WM_MESSAGEFROMANOTHERWINDOW
之前正在处理WM_CREATE
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)