Q&A

  • Active X의 object를 dynamic allocation해서 사용하는방법
안녕하십니까.

델파이로 개발중에 모르는 내용이 있어 문의드립니다.

  Active X로된 Component가 다음과 같이 선언되어 있습니다.

  CodeConverter

해당 object를 사용하는 방법이 VB로 다음과 같이 되어 있습니다.

   Dim CodeConverter As New CodeConverter

   CodeConverter.Format();

로 되어 있는데 델파이에서는 위와 같이 선언하면서 메모리 allocation을 해주는 방법없네요
CodeConverter.Create는 지원되지 않습니다.
다음과 같이 해보았는데, 런타임시에 에러가 납니다.
디버깅하여 문제를 분석해보니 CodeConverter1에 nil이 할당되어 있던지 아니면,
Pointer(CoceConverter1)....로 나타나는데 메모리 할당이 잘 안되는것 같네요

혹시 해결책을 아시는분 도움부탁드립니다.

다음은 안되는 방법들

var CodeConverter1:CodeConverter;
begin

  New (Pointer(CodeConverter1));      -----------------------안됨

  GetMem(AngleUnitsConverter1, sizeof(AngleUnitsConverter));  -----------------------안됨

2  COMMENTS
  • Profile
    김종화 2005.11.30 20:42
    CreateComObject 인가? 하는걸 써보세요..

    쓰는법은 헬프 참조하시구요..^^;;


  • Profile
    양창윤 2005.12.01 06:40
    적어주신 내용을 참고하여,

    import디렉토리에 보니 import된 내용에 대한 .pas파일이 있어 내용을 보니

      CodeConverter1 := CreateComObject(CLASS_CodeConverter) as ICodeConverter;

    로 되어 있어 이대로 하니 정상동작 합니다.

    감사합니다.