Q&A

  • 외부에서 제공하는 api호출문제입니다. 도움바랍니다.
안녕하세요... 좋은 하루 되시기 바랍니다.

개발 중 외부로부터 제공받은 api를 호출해서 프로그램에 적용할려고하는데
경험이 없어 한델부터 책까지 다 뒤져도 감을 못잡겠네요.

외부에서 제공한 정보는

1.형태 : com 기반의 Inprocess서버(dll)형태
2.com인터페이스의 clsid {111111111-2222222222}
3.호출구문 : Object.CallBatch(id,name,file_name)

어떻게 델파이에 정의하고 위에서 제공하는 호출구문을 사용할 수
있을지 고수님들의 도움 바랍니다.

행복하세요 ^^
4  COMMENTS
  • Profile
    최용일 2007.02.17 00:44
    안녕하세요. 최용일입니다.

    일단 맨 먼저 그 dll파일을 윈도우에 등록을 시켜야 합니다. 그쪽에서 인스톨파일이아니라 dll하나만 준거라면 윈도우의 RegSvr32.exe를 이용해서 등록을 하세요.

    델파이에서는 CreateComObject/CreateOleObject함수를 이용해서 인터페이스를 불러서 사용하시면 됩니다.

    ^^ 항상 즐코하세요...

  • Profile
    구기 2007.02.17 01:48
    우선 답변에 감사드리고 덕분에 길이 조금 열린것 같아 많은 도움이 되고 있습니다.

    그런데 하수라서 CreateComObject를 찾아봐도 제공된 기능을 사용할 지 막막하네요.

    최용일님이 말슴하신것처럼 등록은 완료한 상태이구요

    제공받은 dll이 111.dll 이라고 가정했을때 Object.CallBatch(id,name,file_name)를 호출하여 적용하는
    예제문을 가르침 받고 싶은데 가능하시면
    도움 부탁드립니다.


    "새해 복 많이 받으세요"




  • Profile
    최용일 2007.02.17 02:26
    글쎄요... 제가 관련 정보를 알수가 없어서... 타입라이브러리가 있는것도 아닌것 같구...

    <!--CodeS-->
    var
      Obj: OleVariant;
    begin
      Obj := CreateOleObject(ProgID);
      Obj.CallBatch(id, name, file_name);
      ...
    end;
    <!--CodeE-->

    ProgID는 레지스트리의 HKEY_CLASSES_ROOT\CLSID\com인터페이스의 clsid\ProgID키에 있을겁니다.

  • Profile
    구기 2007.02.20 18:03
    최용일님...
    문제가 해결되었습니다. 진심으로 감사드립니다.

    새해 복 많이 받으십시오...^^