c# .net framework 4.7.2 개발환경에서 오토메이션을 다루려하는데
dynamic? myHwp;
Type? hType;
hType = Type.GetTypeFromProgID(“HWPFrame.HwpObject.2”);
myHwp = Activator.CreateInstance(hType);
myHwp!.RegisterModule(“FilePathCheckDLL”, “SecurityHwpAutomation”);
이런식으로 사용하는것과
HwpObject 1.0 Type Library를 참조추가 하고 using HwpObjectLib; 이렇게 쓰는게 있던데
무슨 차이 인가요??
안녕하세요
GetTypeFromProgID를 사용하면 런타임에 바인딩을 하기 때문에 사용자의 PC에 어떤 버전의 한글에 상관없이 동작할 수 있습니다.
HwpObject 1.0 Type Library를 참조추가를 하면 컴파일 타임에 바인딩을 해서 인텔리센스등을 활용할 수 있어서 좀 더 편하게 개발이 가능합니다. Interop 파일도 같이 배포해야합니다. 배포했을 때 개발 PC와 사용자의 PC의 한글 버전이 다르면 문제가 발생할 수도 있습니다.(저희가 해당 부분을 고려해서 버전에 상관없이 동작할 수 있도록 처리하긴 했지만 문제가 될 수도 있습니다.)
Type.GetTypeFromProgID Method (System) | Microsoft Learn 와
COM Interop in .NET - .NET | Microsoft Learn 를 참고하시면 좋을 것 같습니다.
감사합니다.