안녕하세요.
현재 C# (.NET Framework 4.7.2) 환경에서 HwpObject를 이용하여 프로그램을 개발하고 있습니다.
최근 한글 2024 업데이트 이후 기존에 정상 동작하던 코드에서 COM 예외가 발생하여 문의드립니다.
개발 환경
- Language : C#
- Framework : .NET Framework 4.7.2
- 한글 버전
- 정상 동작 : 한글 2024 13.0.0.3380
- 오류 발생 : 한글 2024 13.0.0.3621
발생 현상
기존에는 아래와 같이 Interop 객체를 생성하여 사용하였습니다.
HwpObject _hwp = new HwpObject();
한글 2024 13.0.0.3380 버전에서는 정상 동작하였으나, 13.0.0.3621 버전으로 업데이트한 이후 아래 예외가 발생합니다.
Type=COMException
Message='널 참조 포인터를 스텁에 전달했습니다.
(예외가 발생한 HRESULT: 0x800706F4)'
System.Runtime.InteropServices.COMException (0x800706F4):
널 참조 포인터를 스텁에 전달했습니다.
시도한 방법
포럼 내 다른 게시글을 참고하여 Interop 객체를 dynamic으로 변경하였습니다.
이 경우 일부 기능은 동작하지만, 기존에 사용하던 이벤트를 사용할 수 없게 되었습니다.
_hwp.DocumentBeforeSave += OnBeforeSave;
_hwp.DocumentAfterSave += OnAfterSave;
_hwp.DocumentAfterClose += OnAfterClose;
_hwp.NewDocument += OnNewDocument;
문의사항
- 한글 2024 13.0.0.3621 버전에서
HwpObjectInterop 사용 시0x800706F4 (널 참조 포인터를 스텁에 전달했습니다)예외가 발생하는 원인이 무엇인지 궁금합니다. - 13.0.0.3621 버전에서 Interop 객체를 정상적으로 사용할 수 있는 방법이 있는지 궁금합니다.
dynamic사용 시DocumentBeforeSave,DocumentAfterSave,DocumentAfterClose,NewDocument이벤트를 사용할 수 있는 방법이 있는지 궁금합니다.- 해당 문제에 대한 권장 개발 방식이나 우회 방법이 있다면 안내 부탁드립니다.
감사합니다.