Q&A

  • [컴포넌트에러] Range Check에러가나는데?
flat Style 컴포넌트를 사용중에..

항상 나는 건 아니지만 가끔.

아래의 포인트에 중단이 되면서. 범위체크에러가 나는데..

컴파일을 다시 하거나 Build All하면 나지 않습니다.

비정상적인 경우인거 같은데. 이유를 모르겠습니다. 고수님들의 지도를...^^:





procedure DrawParentImage(Control: TControl; Dest: TCanvas);

var

SaveIndex: Integer;

DC: HDC;

Position: TPoint;

begin



Try

with Control do

begin

if Parent = nil then Exit;

DC := Dest.Handle;

SaveIndex := SaveDC(DC);

{$IFDEF DFS_COMPILER_2}

GetViewportOrgEx(DC, @Position);

{$ELSE}

GetViewportOrgEx(DC, Position);

{$ENDIF}



SetViewportOrgEx(DC, Position.X - Left, Position.Y - Top, nil);

IntersectClipRect(DC, 0, 0, Parent.ClientWidth, Parent.ClientHeight);





Parent.Perform(WM_ERASEBKGND, DC, 0); // <<-- 여기에서 중단.

// 위에서 범위가 틀리지 않은거 같은데..

Parent.Perform(WM_PAINT, DC, 0);

RestoreDC(DC, SaveIndex);

end;

except

RestoreDC(DC, SaveIndex);

end;



end;







1  COMMENTS
  • Profile
    이홍석 2005.08.14 08:24
    저도 이런현상이 나타납니다..
    오늘 갑자기 그러군요
    아마 버그인것 같읍니다.
    저도 아직 해결하지 못하고 있읍니다.