본문 바로가기

운동하는 개발자/Lazarus

라자루스 dll 델파이에서 로드 / how use Lazarus dll in delphi

728x90

● 문제사항

라자루스를 이용해 만든 DLL파일이 델파이에서 LoadLibrary에서 실패하는 경우 발생

  var
  	H: THandle;  // Init
    
   ...
   
    H := LoadLibrary('D:\temp\lazarus.dll');
    //H의 값은 0

 

● 확인사항

라자루스 프로젝트에서 DLL을 로드시 정상적으로 호출 되는것을 확인

 

● 해결방안

라자루스 Project -> Project Options -> Compliler Options -> Config and Target을 보면 
Target Os와 CPU가 기본적으로 디폴트로 되어있다

이를 아래와 같이 Tartget OS를 Win32, CPU를 i386으로 바꿔주니 정상적으로 로드에 성공했다

DLL을 사용하는 PC에 따라 다를꺼 같기도한데 내 피시는 윈도우10 64비트  cpu도 64비트 프로세서이다
왜 다 32비트로 설정해야만 되는지는 의문으로 남기고..


728x90