Win32API【2】
■ このスレッドは過去ログ倉庫に格納されています
0127デフォルトの名無しさん
NGNGと・・・お次は・・・
エディットコントロールにファイルをオープンするだけの
プログラムなんだけど、はじめchar szbuf[1024*256]で
確保してたんだけど、これをグローバル変数のポインタにして
..........
hFile=CreateFile....
dwSize=GetFileSize()
szbuf=(char *)malloc(dwSize+1);
ReadFile.(.....szbuf,)
SendMessage(hEdit,WM_SETTEXT,nlen
....
free(szbuf);
CloseHandle(hFile);
とやると、テキストがエディットに表示された直後ページ違反みたい
なのが出るんだけど、どー考えても、WM_SETTEXTが処理されるよりも
速い速度でfreeされるからとしか思えないんだけど、正しいかな
freeの前にZeroMemoryいれるとページ違反のダイアログボックスが
3つ(はじめはひとつ)に増えるし、小さいファイルだと開けることも
あるし、小さいファイルを開いたあとだと違反のでちゃったファイルも
開けたりするし、あとは、CloseHandle(hFile)のタイミングずらすと
ファイルサイズ(dwSize)もなんだかおかしな数を返してきたり。
■ このスレッドは過去ログ倉庫に格納されています