NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    디자이너 2. 매크로 제작할 때 디버깅을 이용해서 스크립트를 빠르게 만드는 방법. (엔지엠 디자이너)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 매크로 에디터를 이용해서 디버깅하는 방법은 아래 글을 참고하세요. 그리고, 1부에서 테스트한 스크립트도 준비해야 합니다.

    1. 매크로 제작할 때 디버깅을 이용해서 스크립트를 빠르게 만드는 방법. (엔지엠 에디터) ]

    KLw8V6W.gif

     

     

    엔지엠 디자이너는 엔지엠 에디터로 만든 스크립트를 사용해서~ 나만의 플레이어를 만들어서 실행할 수 있는 방법을 제공합니다. 디자이너를 만드는 자세한 방법은 아래 글을 참고해야 합니다. 엔지엠 플레이어가 있지만~ 새로운 디자인 또는 새로운 추가 기능이 필요한 경우에 디자이너를 사용합니다. 이외에도 여러가지 이유로 플레이어를 만들어서 사용하기도 합니다.

    [ 나만의 플레이어 만들기 ]

     

    비주얼 스튜디오(Visual Studio)를 실행하고, 참조에 디자이너를 추가 해줍니다. 그리고, 아래와 같이 화면을 디자인하세요. 디자이너 도구에서 Script를 윈도우 폼 위에 올려 놓습니다. 이와 마찬가지로 PlayButtonStopButton 컨트롤도 폼 위에 올려놓으세요.

    U5ZwJxm.png

     

     

    Script 콘트롤은 엔지엠 에디터로 제작한 스크립트를 선택하는 콘트롤입니다. 매크로는 엔지엠 에디터로 제작하고, 제작한 스크립트를 선택함으로써 동일하게 실행되는 플레이어를 만들 수 있습니다. 아래와 같이 실행할 스크립트를 선택 해줍니다. 그리고, 버튼들의 텍스트도 실행과 중지로 변경하세요.

    1aTIwzF.gif

     

     

    이렇게 나만의 매크로 플레이어를 완성 했습니다^^;; 간단하죠? 실행해보면 1부에서 에디터로 테스트한것처럼 바탕화면의 내 PC 아이콘을 클릭합니다. 엔지엠 에디터나 플레이어처럼 마우스 이펙트를 표시하지 않기 때문에 잘 확인은 안되지만, 실행 후 자세히 보면 바탕화면의 내 PC 아이콘이 클릭되면서 선택되는걸 알 수 있습니다. 유심히 봐야 합니다^^;

    N9NBjbw.gif

     

     

    디자이너에서 디버깅은 비주얼 스튜디오를 사용합니다. 자체 디버깅과 엔지엠 디버깅으로 나누어지는데요. 자체 디버깅은 프로그래밍할 때 비주얼 스튜디오에서 제공해주는 디버거를 말합니다. 엔지엠 디버깅은 스크립트의 액션들을 직접 연결해서 사용해야 합니다. 엔지엠 프레임워크는 각각의 액션이 수행될 때 그리고, 수행된 후 이벤트를 제공합니다. 디자인 화면에서 F7을 눌러서 코드 뷰로 전환하세요. 그리고, 아래와 같이 코드를 작성 해줍니다.

            private void Form4_Load(object sender, EventArgs e)
            {
                var player = this.script1.Player;
                player.BeforeCurrentAction += Player_BeforeCurrentAction;
                player.AfterCurrentAction += Player_AfterCurrentAction;
            }

     

    폼의 Load 이벤트에 추가한 스크립트의 플레이어를 가져옵니다. 그리고, 플레이어의 Before, After Current Action 이벤트를 연결 해줍니다. 이벤트는 아래와 같이 처리 했습니다.

    using System;
    
    namespace DesignerDefaultTest
    {
        public partial class Form4 : Designer.ComponentDefault.MainView
        {
            public Form4()
            {
                InitializeComponent();
            }
    
            private void Form4_Load(object sender, EventArgs e)
            {
                var player = this.script1.Player;
                player.BeforeCurrentAction += Player_BeforeCurrentAction;
                player.AfterCurrentAction += Player_AfterCurrentAction;
            }
    
            private void Player_BeforeCurrentAction(object sender, NGM.Events.TreeNodeActionArgs e)
            {
                Console.WriteLine($"실행 전: {e.ActionItem.Text}");
            }
    
            private void Player_AfterCurrentAction(object sender, NGM.Events.TreeNodeActionArgs e)
            {
                Console.WriteLine($"실행 후: {e.ActionItem.Text}");
            }
        }
    }

     

    여기서부터 개발자가 아니면 이해하기 어려운 내용들이 나옵니다. 이벤트는 2개의 인자(Parameter, 파라메터)를 넘겨주는데요. 첫번째 파라메터인 sender는 플레이어 자기 자신을 말합니다. 그리고, 두번째 인자인 TreeNodeActionArgs 형식의 e는 스크립트 액션 아이템을 넘겨줍니다. 이 코드는 액션 아이템의 이름(Text)을 콘솔로 표시하고 있습니다. 액션이 실행하기 전과 후로 나뉩니다. 비주얼 스튜디오의 출력창을 보면 각각의 액션이 실행 전과 후 로그를 표시하고 있습니다.

    Elx66AY.png

     

     

    아래 그림과 같이 중단점(Break Point)을 설정 해줍니다. 중단점을 만들고 싶은 위치를 선택하고 F9를 눌러주세요.

    KcoLnXX.png

     

     

    플레이어를 실행하면 중단점이 활성화 되면서 좀 더 자세한 내용을 확인할 수 있습니다.

    8bZ9G5O.gif

     

     

    간단하게만 디자이너의 디버깅에 대해 알아봤는데요. 개발자라면 스크립트가 어떻게 동작하고 액션이 초기화되는지 그리고, 실행 결과를 어떻게 만드는지 모두 확인할 수 있습니다. 하지만, 대부분은 비개발자 분들이다보니 이렇게 디테일하게 작업할 수 있지는 않을겁니다. 엔지엠소프트웨어의 제품군은 에디터로 스크립트를 제작하고 플레이어로 실행하도록 되어 있습니다. 하지만, 나만의 플레이어가 가지고 싶은 분들은 디자이너로 사용자에게 보여지는 GUI만 변경해서 사용합니다. 실제 회사나 개발자분들은 엔지엠 프레임워크의 API를 사용해서 직접 제작하고 있습니다. 좀 더 다양한 기술들을 활용할 수 있지만, 이렇게되면 거의 개발자 수준의 지식이 필요하므로 간단하게 스크립트만 불러와서 실행될 수 있도록 하는게 좋습니다^^

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.