매크로

조회 수 299 추천 0 댓글 8

오토핫키안에서 제가 만든 dll을 참조하여 테스트할려고 하였으나 잘 안되네요


검색한걸로 해봤지만 여전히 안되네요 ㅠ 참조할만한 주소나 소스 있으신분 부탁드려요


1번시도 - 실패

Rt:= DLLCall("HiUsing\add",int, 1,int, 2)

msgbox, Rt=%Rt%


2번시도 - 실패


CLR_Start()

asm := CLR_LoadLibrary("HiUsing.dll")

obj1 := CLR_CreateObject(asm, "HiTest")

MsgBox % COM_Invoke(obj1, "add",1,2)

COM_Release(obj1)

COM_Release(asm)


3번시도 - 실패


CLR_Start()

asm := CLR_CompileC#(c#, "HiUsing.dll")

obj1 := CLR_CreateObject(asm, "HiTest")

MsgBox % COM_Invoke(obj1, "add",1,2)

COM_Release(obj1)

COM_Release(asm)


dll 내용은 

namespace HiUsing

{

    public class HiTest

    {

        public static int add(int x, int y)

        {

            return x + y;

        }

    }

}


단순 더하기고요


닷넷에서 dll참조해서 디버깅했을땐 작동은 잘되더군요..

근데 오핫에서 참조시키면


---------------------------

COM Error Notification

---------------------------

Function Name: "add"

ERROR: The COM Object may not be a valid Dispatch Object!

First ensure that COM Library has been initialized through COM_Init().

()


Will Continue?

---------------------------

예(Y)   아니요(N)   

---------------------------

이런 메세지를 띄운 후 아무값도 나오지 않네요.


  • profile
    외치기 2016.01.21 11:27
    #include CLR.ahk
    CLR_Start()
    SampleDLL := CLR_LoadLibrary("AutohotkeyTest.dll")
    SampleClass := CLR_CreateObject(SampleDLL,"AutohotkeyTest.Add")
    result := SampleClass.add(1,2)
    msgbox % "autohotkey : " result
    L버전 기준으로 이렇게 작성하니 성공했습니다.


    C#
    ---
    namespace AutohotkeyTest
    {
        class Add
        {
            public int add(int a, int b)
            {
                MessageBox.Show(a + " + " + b + " = " + (a + b));
                return a + b;

            }
        }
    }
  • 리키레이 2016.01.21 14:44
    외치기님 감사합니다.
    그런데 안되네요 ㅠ

    CLR_Start()
    SampleDLL := CLR_LoadLibrary("HiUsing.dll")
    SampleClass := CLR_CreateObject(SampleDLL,"HiUsing.HiTest")
    result := SampleClass.add(1,2)
    MsgBox, %result%
    COM_Release(SampleClass)
    COM_Release(SampleDLL)

    C#
    ---
    namespace HiUsing
    {
    class HiTest
    {
    public int add(int x, int y)
    {
    return x + y;
    }
    }
    }
  • profile
    외치기 2016.01.21 15:45
    CLR L버전 사용하셨나요?
  • 리키레이 2016.01.22 15:25
    CLR도 버전이 있군요 ㅠ
    그냥 인터넷 떠도는거 구했습니다
    L버전은 어디서 구할수있을까요?
  • profile
    외치기 2016.01.22 16:03

    https://autohotkey.com/board/topic/23884-net-framework-interop/

    이 토픽 들어가시면 L 버전이 따로 존재합니다.

  • 리키레이 2016.02.08 23:47
    댓글 확인이 늦었습니다 ~
    정말 감사합니다 ㅎㅎ
  • profile
    외치기 2016.01.22 16:04

    대부분의 라이브러리들이 L버전이 따로 존재합니다.

  • 리키레이 2016.02.08 23:46
    댓글 확인이 늦었습니다 ~
    정말 감사합니다 ㅎㅎ

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 DropDownList의 리스트 부분이 조절 가능한가요? 6 시에 2015.02.25 0/0
질문 Dropdownlist를 사용한 창을 WinActivate 하는 방법이 ... 2 Vermee 2015.02.17 0/0
질문 DropDownList 질문이요. 2 아잉뿌잉 2015.02.26 0/0
자유 DropDownList 와 IniRead 불러온 값으로 선택되게 할려... 10 Rabbit 2018.06.23 0/0
질문 Dropdownlist 연동관련 질문드리겠습니다 22 최원태 2015.10.25 0/0
질문 Dropdownlist 에서 선택하지않으면 에러납니다. 4 우리강아지 2016.05.29 0/0
질문 Dropdownlist 에 항목을 추가 하는 방법이 궁금합니다 3 레이븐 2014.12.16 0/0
질문 Dropdownlist 기본값 줄수 없나요?? 3 yodda 2014.12.21 0/0
질문 dropdownlist , ini 질문이요~ 4 화임 2015.07.12 0/0
질문 document가 뭔가요? 힌트좀 주세요. 정직한 2016.10.30 0/0
질문 document.getElementsByClassName 여러조건?에맞는결과... 1 _Crash 2015.09.15 0/0
질문 document 엔터입력 1 _Crash 2016.04.16 0/0
질문 dll참조에 관한 고수님있으시나요? 8 리키레이 2016.02.08 0/0
질문 DLL관련 변수선언, Guicontrol관련 질문. 2 아잉뿌잉 2015.07.06 0/0
질문 dllcall로 autohotkey.dll이 호출 안되는 현상 하연데디 2016.10.28 0/0
질문 dllcall(keybd_event) 비활성화는 안되나요>? 2 끼엣ㅅㅅ 2019.04.09 0/0
질문 dllcall 질문드려요 광대승천 2020.07.24 0/0
질문 dllcall 사용법 질문! 키리야 2017.12.10 0/0
정보 DllCall "mouse_event" 속도조절하는 법 rkfdma 2016.12.08 0/0
질문 dll 과 인젝션에 관한문의 오핫충 2018.01.21 0/0
Board Pagination Prev 1 ... 195196197198199200201202203 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글