Corrupted Status Window Message
When I repeatedly run the following code in VS10 debug mode, it behaves as I would expect. Right-clicking executes the expected code and the message in the status bar cycles correctly through the 2 cases. But when I run it as a release, the message is corrupted (I get a load of oriental characters). Making char* rcMess global doesn't help.
The following is the extraxt from WinProc:
switch (message)
{
case WM_RBUTTONDOWN:
if (++parallel==3)
parallel=0;
//update status bar message
char* rcMess;
switch (parallel)
{
case 0:
rcMess="Right-click for parallel 1 execution";
break;
case 1:
rcMess="Right-click for parallel 2 execution";
break;
case 2:
rcMess="Right-click for serial execution";
break;
}
SendMessage(GetDlgItem(hWnd,IDC_STATUS),SB_SETTEXT ,2,(LPARAM) (rcMess));
InvalidateRect (hWnd,NULL,TRUE);
UpdateWindow (hWnd);
break;
Any suggestions?
|