디자이너 NGM RPA 프레임워크에서 옵션을 변경하는 방법. (How to change options in the NGM RPA fra…
페이지 정보
본문
안녕하세요. 엔지엠소프트웨어입니다. 커스텀 플레이어를 만들 수 있는 디자이너나 프레임워크로 옵션을 처리하는 방법입니다. 아래 코드에 주석을 달아두었습니다. 부연 설명을 하자면, 엔지엠에서 클라이언트(에디터, 플레이어를 비롯한 디자이너등등...)는 여러가지 옵션을 통해 글로벌하게 속성을 설정할 수 있습니다. 이런 속성들은 플레이어에 영향을 주며 전반적인 동작을 디테일하게 제어할 수 있도록 해줍니다. 아래 예제는 옵션에서 듀얼 모니터를 사용 가능하게 해줍니다.
// MainView를 만들 때 자신의 타이틀(Text)을 넣어줘야 합니다.
Designer.Component.ScriptView sv = new Designer.Component.ScriptView(
new Designer.ComponentDefault.MainView() { Text = this.Text },
Path.Combine(GetDefaultScriptPath(),
"find face.ngs"), false);
// 이미 생성된 옵션이 있으면 가져옵니다.
var option = NGM.Client.SystemHelper.GetOptionConfig(this.Text, true);
// 옵션이 없으면 null을 반환하므로, 새로운 옵션을 생성해야 합니다.
if (option == null)
option = new NGM.Models.Configuration.OptionConfigModel();
// 옵션의 값을 변경하고, 저장해줍니다.
option.UsedDualMonitor = true;
NGM.Client.SystemHelper.SaveOptionConfig(this.Text, option, true);
이 예제를 테스트하려면 이미지 서치 또는 이미지 매치로 매인 모니터(주 모니터)에 이미지를 하나 캡쳐해줍니다. 실행해보면 정상적으로 이미지를 찾을텐데요. 듀얼 모니터에서 확인하기 위해 이미지를 찾을 프로그램을 서브 모니터(부 모니터)로 이동시킨 후 다시 실행 해보세요. 옵션의 UsedDualMonitor를 True, False로 바꿔가면서 테스트 해보세요.
디자이너는 기본적으로 엔지엠에서 제공하는 추상 클래스인 매인뷰를 상속 받아서 구현하게됩니다. 따라서, 프로그램의 제목(Text)이 동기화되므로 옵션을 비롯한 설정 정보들을 정상적으로 가져오고 저장할 수 있습니다. 하지만, 프레임워크는 자체 폼을 가지고 있고 내부에 매인뷰를 구성하는 방식이기 때문에 프로그램의 제목이 동기화되지 않습니다. 옵션 정보들은 엔지엠 디자이너의 매인뷰에서 관리하므로 아래와 같이 Text 속성을 동기화 해줘야 합니다.
new Designer.ComponentDefault.MainView() { Text = this.Text },
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
- 이전글함수 상자 - 함수 - 텍스트 말하기. (Functionbox, Function, TTS - Text to speech) 21.06.22
- 다음글함수 상자 - 변수 - 액션 속성 변경. (Functionbox, Variables, Action property change) 21.06.13
댓글목록
등록된 댓글이 없습니다.