안녕하세요 델파이를 처음 사용 하는 초보 개발자 입니다.
지금 개발을 하다 보니, 델파이6에서 C#으로 개발한 dll 사용 하여야 하는데..
이곳 개시판에서 계속 찾아 보았지만.
방법해결에대해서는 나와 있지 않아서 이렇게 문의 해 봅니다.
현재 일반적으로 사용 하고 있는
<!--CodeS-->
procedure TForm1.btn3Click(Sender: TObject);
type
TDllFunc = Function(M_para1,M_para2:integer) : integer ; cdecl;
var
strDllFile: String;
hdlDllKitrus: THandle;
funGetOS : TDllFunc;
begin
strDllFile := 'IF_class.dll';
if not FileExists(strDllFile) then
begin
Showmessage('파일없음');
Abort;
end;
hdlDllKitrus := LoadLibrary(PChar(strDllFile));
if hdlDllKitrus < 32 Then
begin
Showmessage('실행실패');
Abort;
end;
try
@funGetOS := GetProcAddress(hdlDllKitrus,'show');
if (@funGetOS = nil ) then //==> 항상 널
begin
Showmessage('nil입니다.');
Exit;
end
else
begin
edt1.Text := inttostr(funGetOS(10,100));
Showmessage('값을 한번 보자.');
end;
finally
FreeLibrary(hdlDllKitrus);
end;
end;
<!--CodeE-->
으로 해 보았는데..
nil 확인부분에서 항상 nil이 나오는데 방법이 없을까요?
그냥 다른 것 좀 찾아보다가 우연히 봤는데, 맞는지는 모르겠는데요...
function [dll 안의 함수이름] external 'IF_class.dll' name '[dll 안의 함수이름]'
이렇게 한다고 책에 적혀있는데, 이것이 원하는 답변인지 모르겠네요.
저도 델파이 초보라서.....