From YYpBD's MediaWiki
작업을 하다보면 외부 업체에서 모듈을 지원해 주는 경우가 있다.
이러한 모듈을 쉽게 이용하는 방법을 설명한다.
1. LIB인 경우
외부 업체에서 모듈을 제공해주었을때 LIB라면 델파이에서는 이용할 방법이 없다.
졸라서 DLL로 달라고 하자 -_-;;
안준다면 VC로 정규 DLL을 만드는 수밖에....
VC6을 기준으로 얘기한다.
DLL프로젝트를 만들고
Project -> Settings에서
Link탭의 General 에서 Object/library modules에
외부업체에서 받은 Lib경로를 써준다.
Lib파일의 함수가 Func1이라면
extern "C"
{
__declspec(dllexport) int MyFunc1(char *AParam1, char *AParam2)
{
return Func1( AParam1, AParam2 );
}
};
라고 써서 Func1을 MyFunc1으로 바꾼다.
이렇게 해서 컴파일하면 Lib를 포함한 DLL이 생성되므로
이 DLL을 이용하자.
2. DLL인 경우
tdump 등으로 확인했을때 정규 DLL이 아니라면 다시 달라고 한다.
아니면 1번의 LIB처럼 DLL을 한번 더 싸서 정규 DLL을 만든다. -_-;;
정 협조를 안해주는 업체라면 이 방법밖에는...
Dll을 이용하려면 아래의 방법으로 실행한다.
type
TMyFunc1 = function( AParam1, AParam2: PChar ): Integer;
var
FMyFunc1: TMyFunc1;
[이용]
DllHandle := LoadLibrary( 'MyLib.dll' );
FMyFunc1 := GetProcAddress( DllHandle, 'MyFunc1' );
Result := FMyFunc1( Param1, Param2 );
FreeLibrary( DllHandle );