|
제 코딩 실수였네여..^^ 감사합니다.. 근데 Timer역시 TickCount를 쓰기때문에 저거랑 거의 비슷한거 같다는 생각이 드는데...정확하게 0.5초나 0.1초를 원한다면이야 모르지만..저는 대략이란 시간이 필요하기 때문에..^^ 그냥 TTimer를 사용했구염..제 코딩의 실수로 ....... 어쨌든 문제는 해결되었지만..^^ 애정어린 관심 감사하구여..답변 고맙습니다. 그럼 즐프~~~~~~
DoyongID 님이 쓰신 글 :
: 움.. 글쎄요.. 잘은 모르지만, 쓰레드 내에서 타이머는 좀 그럴 것 같은데.. TTimer보다는 GetTickCount()로 시간을 측정해서 처리하는게 좋을 것 같습니다... TTimer는 정확하지가 않더군요..
:
: DWORD __stdcall ThreadProc(LPVOID lpParam)
: {
: DWORD Timer1 = GetTickCount();
: DOWRD Timer2 = GetTickCount();
:
: while(1)
: {
: Sleep(1);
:
: // 0.1 초마다 한 번씩 처리
: if(GetTickCount() - Timer1 > 100)
: {
: Timer1 = GetTickCount();
: // 이 밑에 처리할 소스 삽입
: }
:
: // 0.5 초마다 한 번씩 처리
: if(GetTickCount() - Timer2 > 500)
: {
: Timer2 = GetTickCount();
: // 이 밑에 처리할 소스 삽입
: }
: }
:
: return 0;
: }
:
:
: 앙마 님이 쓰신 글 :
: : 동적으로 생성된 쓰레드 내부에서 동적 타임머 생성할수 있을까요? 생성은 되는데 동작이 안돼는거 같은데....이상해서 질문합니다..
: :
: : for (int i =0; i< Count ; i++)
: : {
: : MIPThread[i]=new TMIPThread(true);
: : MIPThread[i]->MSP->HostAddr(Ma[i].addr);
: : // 이하 생략..
: :
: : } // 이렇게 동적으로 쓰레드 생성을 했구요...
: :
: : 쓰레드 생성자에.. 타임머 동적으로 생성했거덩엽..
: : Priority = tpTimeCritical;
: : MIP= new MultiIP();
: :
: : Timer1= new TTimer(NULL);
: : Timer2=new TTimer(NULL);
: : Timer1->OnTimer=OnTimer1;
: : Timer2->OnTimer=OnTimer2;
: : Timer1->Interval=100;
: : Timer2->Interval=100;
: :
: :
: : 그리고 Excute에서....Timer1,2를 True시켰는데...동작이 안돼는거 같아서염.. 쓰레드 내부에서 타임머 사용할 수 없나요??? 타임머 이벤트를 사용하려고 하는데.....
|