|
안녕하세요..
요즘 뭔가를 하나 만들고 있는데요 생전 처음보는 문제가 발생해서 이렇게 문의를 드립니다.
TImage의 Canvas에 직접 그린 내용이 같은 프로그램임에도 다른 컴터에서 다르게 나타나는 증상입니다..
첨부된 파일의 앞에부분이 이상없는 개발컴이구요.. 뒷부분이 다른컴 입니다..
사양을 놓고 보자면..
개발컴 : 코어2 듀오, 4G RAM, XP SP3
코어2 듀오, 2G RAM, XP SP3
다른컴 : 코어2쿼드, 1G RAM, XP SP3
램때문인가 싶어서 살펴봐도 프로그램이 사용하는 메모리는 정말 얼마 안됩니다..
GDI객체 사용량이 많아서 그런가 싶어 리소스를 살펴봐도 60개도 안쓰고 있구요..
코드는 간단합니다.
void __fastcall TFrameCompare::DrawGaugeY(TCanvas *C, int nClientX, int nClientY)
{
int nX, nY;
double dbRatioY = nClientY/m_nYCnt;
C->Lock();
TColor oldColor = C->Pen->Color;
C->Pen->Color = TColor(CLR_RED);
for(nY=0; nY < m_nYCnt; nY++)
{
C->MoveTo(nClientX, nY*dbRatioY);
if(nY%GAUGE_Y_LONG_EVERY)
{
C->LineTo(nClientX-GAUGE_Y_SIZE_SHORT, nY*dbRatioY);
}
else
{
C->LineTo(nClientX-GAUGE_Y_SIZE_LONG, nY*dbRatioY);
C->TextOut(nClientX - GAUGE_Y_SIZE_LONG - C->TextWidth(AnsiString(nY)), nY*dbRatioY, AnsiString(nY));
}
}
C->Pen->Color = oldColor;
C->Unlock();
}
혹시 이런문제 겪어보신분 계신가요?
|