에러를 잡으셨다니 축하 드립니다.그런데 델파이 프로그래머가 아니고 c++ builder
사용자 셨군요... ㅠ.ㅠ
엄... 역시 볼랜드포럼에서는 c++ builder 사용자가 90% 이상 되는것 같습니다.
아래의 무례했던 제 답글은 잊어 버리시고 자주 방문하셔서 질문 남겨 주십시요. 될
수 있음 델파이 Q & A 로다가... ^^;;
김회현 님이 쓰신 글 :
: 여러분들의 말씀 처럼 오류메세지를 보고서는 메모리쪽 문제가 있을 것이다만 짐작 갈 따름이지
: 알 수가 없어서.. 메모리를 자꾸 잡아 먹는 부분을 찾았습니다.
:
:
: 문제의 부분입니다.
:
: waveOutWrite 함수를 수행하고 나면 발생하는 이벤트 WOM_DONE 처리 하는 부분입니다.
:
: void __stdcall chatPhone::wave_outproc(HWAVEOUT hwo, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2)
: {
: int errorCode, i = 0;
: char tmp[50];
:
: switch(uMsg){
: case WOM_DONE:
: errorCode = waveOutUnprepareHeader( hWaveOut, (LPWAVEHDR)dwParam1, sizeof(WAVEHDR) );
:
:
: if(errorCode != MMSYSERR_NOERROR) {
: switch(errorCode) {
: case MMSYSERR_INVALHANDLE:
: Memo1->Lines->Add("Specified device handle is invalid.");
: break;
: case MMSYSERR_NODRIVER:
: Memo1->Lines->Add("No device driver is present.");
: break;
: case MMSYSERR_NOMEM:
: Memo1->Lines->Add("Unable to allocate or lock memory.");
: break;
: case WAVERR_STILLPLAYING:
: Memo1->Lines->Add("WAVERR_STILLPLAYING");
: waveOutReset(hWaveOut);
: break;
: }
: }
:
: break;
: }
: }
:
:
: 무슨 문제 였나면여.. 2시간 정도 돌리면 WAVERR_STILLPLAYING 에러가 자꾸 나더라구여.
:
: 그래서 그부분에 waveOutReset(hWaveOut); 을 해 줬습니다.
:
: 그러니깐 죽지도 않고 딜레이가 생기다가 waveOutReset(hWaveOut) 이 불려지면 딜레이가 다시 안생기고 또 생기다가 안생기고 합니다.
:
: 60ms 음성 데이타 처리만 해도 안나타났는데 30ms로 처리해서 나타난 문제이구요.
:
: 이렇게 해결했습니다.
:
: 모두 즐프 하세여.
:
:
: 김회현 님이 쓰신 글 :
: :
: : 1:1 음성채팅 프로그램을 만들고 있는데요.
: :
: : 한 2시간 정도 돌리면
: :
: : "프로그램에서 오류가 발생했습니다.... 닫기 무시"
: : 이런 메세지박스가 뜹니다.
: :
: : 닫기를 누르면 또
: : "04!:00002bfb의 모듈 ES197X.DRV 에서 chatPhone 잘못된 페이지 오류 발생"
: : 이란 메세지 박스가 또 뜹니다.
: : chatPhone 가 프로그램명 입니다.
: :
: : 대체 무슨 문제 때문인지 모르겠습니다.
: :
: : 짐작 가는 부분이라도 있으신 분은 답글 주세요.
: :
: :
: :
: :
: :
|