Q&A

  • dll에서 함수 overloading하기
안녕하세요.

DLL화일안에 두개의 함수를 사용했습니다.

두 함수들은는 overloading했구요.

호출하는 쪽에서 매개변수를 넘기면 그 매개변수의 타입에 따라 함수가 호출됩니다.



function test(p:pchar):integer;stdcall;overload;

function test(i:integer):integer;stdcall;overload;



위와 같이 함수를 선언했습니다.

그런데, 어떻게 된 일인지 넘겨주는 값을 integer로 하든 char로 하든지 간에

모두 두번째 test함수를 호출합니다.



dll에서는 overload할 수 없나요?

궁금합니다.



1  COMMENTS
  • Profile
    안치봉 1999.04.22 03:14
    궁금이 wrote:

    > 안녕하세요.

    > DLL화일안에 두개의 함수를 사용했습니다.

    > 두 함수들은는 overloading했구요.

    > 호출하는 쪽에서 매개변수를 넘기면 그 매개변수의 타입에 따라 함수가 호출됩니다.

    >

    > function test(p:pchar):integer;stdcall;overload;

    > function test(i:integer):integer;stdcall;overload;

    >

    > 위와 같이 함수를 선언했습니다.

    > 그런데, 어떻게 된 일인지 넘겨주는 값을 integer로 하든 char로 하든지 간에

    > 모두 두번째 test함수를 호출합니다.

    >

    > dll에서는 overload할 수 없나요?

    > 궁금합니다.

    >



    안녕하세요.



    음..그런데 정말 저런 함수로 DLL 을 만들수 있나요???.



    DLL 작성시 exports 구절에 함수명을 써주어야 하는데....



    exports

    test;

    test;



    하면 구분을 지을수 없을것 같은데요.....



    자세히는 모르지만 DLL 에서는 exports 라는 구절에 익스포트할 함수나 프로시를 써주어야 하기 때문에 안되는것 같습니다.



    되도록이면 메인부분에서 이 부분을 구현하시는게 더 나을것 같습니다. 그리고 되도록이면 OOP 의 개념의 일부이니 객체를 구성할때 쓰시는게 더 낳을듯 합니다.