C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[29398] Graphic Ex를 사용하려고 하는데요..
... [] 835 읽음    2004-04-17 20:58
음... 그래픽 Ex컴포넌트를 사용해서 그래픽 파일들을 로딩하려고 하는데..

예제로 나온 TFileFormatList를 이용해서 파일 형식에 맞춰서 동적으로 클래스 생성하는게..

빌더에서 잘않되네요..;;

그냥 TGIFGraphic같이 직접 클래스 할당해서 로딩하면 잘 로딩되는데..

TMetaClass형태로 받아서 해당 클래스를 동적 생성하면 로딩중에 에러가 나네요..

음..매타 클래스 생성하는데 두가지 방법을 뉴스그룹에서 찾아서 해봤는데..

두가지 다 않되네요..

TObject* CreateMetaClassObject(TMetaClass* metaClass)
{
      int objSize = TObject::InstanceSize(metaClass);
       TObject* obj = (TObject*)new char[objSize];
       TObject::InitInstance(metaClass, obj);
       return obj;
}
이 함수를 이용해서도 해봤고..

완벽하게 하려면 다음과 같은 델파이 함수 만들어서 쓰라고 해서

{  This code is modified from a sample provided by Jeff Overcash (TeamB).
   Thanks, Jeff, for sharing.
}

unit CreateDynInst;

{$R-,T-,H+,X+}

interface

uses Classes;

//type TClass = class of TObject;
function CreateDynamicInstance(ClassRef : TClass) : TObject;

implementation

function CreateDynamicInstance(ClassRef : TClass) : TObject;
{var
        FC : TComponentClass;
}
begin
        try     Result := ClassRef.Create;
        except  Result := nil;
        end;
end;

initialization

finalization

end.

이것도 만들어서 써봤는데 둘다 실행중에 에러가 나오네요..;;

음...직접 만들면 잘되는데..;;

뭘 잘못한걸까요? 경험있으신분 답변좀 부탁드립니다.

P.s 지금은 불쌍하게 switch문으로 각자 타입별로 따로 할당하도록 하고 있습니다 ㅜ_ㅡ 이쁘게 하고 싶은데..

+ -

관련 글 리스트
29398 Graphic Ex를 사용하려고 하는데요.. ... 835 2004/04/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.