Erreur:
Run-Time Check Failure #3 - The variable 'TextLabelVar' is being used without being initialized.
Code illustratif:
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)); }
Question: Ok, j’obtiens l’erreur TextLabelVar est utilisée sans initialisation. J’ai une erreur similaire pour var Disps. J’ai alors déclaré le caractère Disps [100]; Cela n’a montré aucune erreur. Maintenant, l’erreur se déplace sur une poignée. Je ne suis pas sûr de pouvoir déclarer un handle en tant que tableau et cela a du sens. Comment résoudre ce problème?
Ceci est une erreur d’exécution. Cela vous dit que TextLabelVar
est en cours de lecture avant son initialisation. Et cela signifie que l’ WM_MESSAGEFROMANOTHERWINDOW
cas WM_MESSAGEFROMANOTHERWINDOW
exécutée avant WM_CREATE
.
TextLabelVar
les commentaires que vous avez affectés 0
à TextLabelVar
pour supprimer l’avertissement, l’appel de SetWindowText
ne peut évidemment pas aboutir car le handle de fenêtre que vous passez est 0
.
Pour résoudre ce problème, vous devez comprendre pourquoi WM_MESSAGEFROMANOTHERWINDOW
est traité avant WM_CREATE
.