안녕하세요.
DLL화일안에 두개의 함수를 사용했습니다.
두 함수들은는 overloading했구요.
호출하는 쪽에서 매개변수를 넘기면 그 매개변수의 타입에 따라 함수가 호출됩니다.
function test(p:pchar):integer;stdcall;overload;
function test(i:integer):integer;stdcall;overload;
위와 같이 함수를 선언했습니다.
그런데, 어떻게 된 일인지 넘겨주는 값을 integer로 하든 char로 하든지 간에
모두 두번째 test함수를 호출합니다.
dll에서는 overload할 수 없나요?
궁금합니다.
> 안녕하세요.
> 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 의 개념의 일부이니 객체를 구성할때 쓰시는게 더 낳을듯 합니다.