3 Replies Latest reply on May 27, 2015 9:38 AM by eric_park

    RegisterErrorExpression 오류 문의 드립니다.

    dr.hong

      HyperLink를 사용하기 Message Window 구문에 Call outTab.RegisterErrorExpression(sRCCPattern, ScriptEngine, "vFunc", "fFunc") 구문을 추가 하였습니다.

       

      이때 vbs로 실행 할 때는 정상 동작 하지만, efm에서 실행 할 때는 아래와 같은 에러가 발생 합니다.

       

      형식이 일치하지 않습니다. 'outTab.RegisterErrorExpression

       

       

      efm에서의 Hyperlink는 어떻게 해야 하는지요?

        • 1. Re: RegisterErrorExpression 오류 문의 드립니다.
          kate_lee

          본사 커뮤니티의 답변 중 'ScriptEngine'을  efm에서는 'ScriptThis'로 바꾸어 사용하라는 내용이있는데요 한번 적용해보시기 바랍니다.

          • 2. Re: RegisterErrorExpression 오류 문의 드립니다.
            nick_hong

            Efm의 모든 Object에는 클릭, 더블클릭 등의 이벤트를 연결할 수 있습니다.

             

            Efm에 text object를 놓고 적절한 표현을 한 다음, 이벤트 중 EventClick 또는 EventDblClick 에 아래와 같은 구문을 넣는 방법이 유력해 보입니다.

             

            예를 들어 특정 text를 마우스로 클릭할 때에 인터넷 익스플로러를 여는 hyperlink를 만든다면 해당 text object의 EventClick에 아래의 구문을 넣는 방식이 될 것입니다.

             

                Dim oShell

                Set oShell = CreateObject("WScript.Shell")

               

                oShell.Run  "%SystemRoot%\explorer " & "http://www.google.com"

             

            XpeditionPCB에 어떤 행위를 가하거나 정보를 뽑아내는 구문을 넣고자 할 때에도 위와 같은 방법으로 필요한 Event 함수에 해당 구문을 넣어 볼 수 있습니다.

             

            TextClick.jpg

            • 3. Re: RegisterErrorExpression 오류 문의 드립니다.
              eric_park

              HtmlCtrl.RegisterErrorExpression(ByVal Regexp As String, ByVal Client As Object, ByVal VisitFuncName As String, ByVal FormatFuncName As String)

               

              RegisterErrorExpression Method는 XpeditionPCB의 Message Window에 AppendText 또는 AppdenHTML method로 정의된 string을 특정 정규식(regular expression - 문의하신 예제에서 sRCCPattern)에 일치하는지 분석하여, 일치하면 text를 특정 형식으로 표현하기 위한 format function(문의하신 예제의 fFunc)을 호출하거나 특정 형식의 text가 클릭되면 visit function(문의하신 예제에서 vFunc)을 호출합니다.

               

              이런 format function과 visit function을 호출하는 client는 실행되는 script engine을 의미하며, 일반적으로 vbscript에서는 ScriptEngine으로 정의합니다.

               

              ScriptEngine은 xDX Designer나 xPCB Layout에서 사용자 메뉴를 추가하는 경우, CommandBarButton의 ExecuteMethod property와 함께 사용되는 Target property에도 정의됩니다.

               

              만약 IDE(Integrated Development Environment - 확장자 .efm인 form script)에서 메뉴와 accelerator handler를 구성한다면 ScriptEngine 대신 ScriptThis를 사용해야 합니다.

               

              위의 내용은 Automation관련 메뉴얼에서 확인할 수 있습니다.