Q&A

  • 델파이의 DLL을 C에서 사용하고자 할때의 질문입니다
먼저 델파이에는

function MPDJSendFile(PFileName:PChar):Integer;stdcall;

var

FileName:String;

begin

FileName:=StrPas(PFileName);

Result := Integer(MPDJComm.SendFile(FileName));

end;



위와 같이 선언되어있고요



typedef int (__stdcall MPDJSendfile)(LPTSTR);



HINSTANCE m_hDll2;

m_hDll2 = LoadLibrary("MPDJLoader.dll");

MPDJSendfile *pMPDJSendfile;

pMPDJSendfile = (MPDJSendfile*)GetProcAddress

( m_hDll, "MPDJSendfile");

int val = MPDJSendfile((LPTSTR)"c:tempa.mp3");



C에서는 위와 같이 쓰고있는데 아무래도 파라미터 쪽에서 문제가 생기는것 같습니다

메세지는



error C2440: 'type cast' : cannot convert from 'char *' to 'int (char *)'

There are no conversions to function types, although there are conversions to references or pointers to function

라고 나오는데요 어떻게 고쳐야 할까요 도움 부탁드립니다



0  COMMENTS