flutter에 comapi를 사용하면서 겪은 일

이_개발자는_좀_친다·2022년 8월 22일
0

최근에 flutter 도입을 검토하면서 이미 진행되었던 프로젝트 중 가장 시간이 적게 소모되는 프로젝트를 선택하여 변환중에 있었던 일입니다.

기존의 프로그램은 pywebview(python webview) + html로 이루어진 구조였으며, ui부터 로직까지 모두 flutter로 대체중이었습니다. 여기서 win32 라이브러리로 인해 한가지 문제가 발생했습니다.

  1. win32 에 IDispatch의 구현이 포함되어 있지 않습니다.
  2. IDispatch 예제는 있으나, 해당 기능을 코드에 추가하여 사용하는 방식입니다.
  3. 코드 자체는 문제가 없으나, "Excel.Application", "JMP.Application"을 모두 인지하지 못하는 초유의 대형사태가 발생
  4. 3의 문제는 기존의 python 코드에서는 모두 발생하지 않는 문제였습니다.

상기 3의 문제로 이틀이라는 시간을 소모하였으나, 끝내 문제가 해결되지 않아 결국 dotnet으로 JMP Executer를 작업하여 사용하게 되었습니다. 아래는 구현된 코드의 일부이며, 혹시라도 win32 IDispatch로 구동에 성공한다면 내용이 추가될 예정입니다.


dotnet에서 input.json 파일을 읽어 역직렬화 하는 코드


dotnet에서 input.json의 정보를 토대로 JMP를 구동하는 코드


flutter에서 JMP Executer를 실행하고 input.json을 전달하는 코드

profile
풀스택 그런데 프론트를 더 사랑하는

0개의 댓글