Q&A

  • 델파이6에서 C# dll을 사용 할수 있는 방법좀 제발 알려 주세요 ㅠㅠ
안녕하세요 델파이를 처음 사용 하는 초보 개발자 입니다.
지금 개발을 하다 보니, 델파이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이 나오는데 방법이 없을까요?
1  COMMENTS
  • Profile
    오매가 2008.02.13 17:43

    그냥 다른 것 좀 찾아보다가 우연히 봤는데, 맞는지는 모르겠는데요...
    function [dll 안의 함수이름] external 'IF_class.dll' name '[dll 안의 함수이름]'
    이렇게 한다고 책에 적혀있는데, 이것이 원하는 답변인지 모르겠네요.
    저도 델파이 초보라서.....