자문 자답합니다.
기군태 님이 쓰신 글 :
: TForm1 = class(TForm)
: ...
: imgOrg: TImage;
: ...
: End;
:
: Var
: gifSlide: TGIFImage;
: Begin
: gifSlide := TGIFImage(Form1.imgOrg.Picture.Graphic);
: ShowMessageBox(IntToStr(gifSlide.Images.Count))
:
:
: Form1의 imgOrg에 4 프레임짜리 GIF를 넣고
: Runtime에 확인해 보면 64개(16배)로 프레임 수가 늘어나는 데 대책이 없을 까요?
인터넷에서 알아본 결과
GifImg unit에 버그가 있어서 그렇답니다.
문제는 standard design time package를 uninstall/remove 할 수 없다네요.
딴 package들과 얽히고 설켜있어서요.
대신에 수정된 GifImg unit을 새 design time package에 넣어서 TGIFImage image format을 Override하라고 합니다.
매우 쉽답니다:
1. Delphi IDE를 시작한다.
2. 수정된 GifImg.pas를 열고 다른 이름으로 (GifImgFixed.pas 와 같이) 저장
3. 메뉴에서 [File] -> [New] -> [Package]를 누른다.
4. 메뉴에서 [Project] -> [Add to Project…]르 누른다.
5. 수정한 (앞서 다른 이름으로 저장한) GifImgFixed unit을 선택하여 package에 넣는다.
6. 프로젝드를 저장하고 컴파일하고 install 한다.
7. 그리고 원래의 프로젝트를 열고 한번 돌려 본다. 귀신같이 수정되었네요.
참고자료
http://melander.dk/delphi/gifimage/#faq_35
수정된 Unit 다운로드
http://www.tolderlund.eu/delphi/
|