Q&A

  • 32bit application 에서 16bit로 작성된 dll화일을 사용할수 있는지?
윈도우 3.1에서 delphi1.0에서 개발한 application을

윈도우 98에서 재컴파일 하려고 합니다.

문제는 16bit로 작성된 dll을 사용해야한다는 거죠..

(현 상황에서 32bit dll 작성불가능)

현재 테스트 해본 결과 실행시 에러가 발생하고 있습니다.



제가 알고 싶은건 원래 32bit application 에서 16bit로

작성된 dll화일을 사용할수 없는 것인지? 그렇다면

자세한 이유가 뭔지 알고 싶습니다..

왜냐면 윗분들께 이해를 시켜야 하기 때문이죠..

그럼.. 한 수 부탁드리겠습니다.

3  COMMENTS
  • Profile
    최용일 2000.08.02 03:33
    안녕하세요. 최용일입니다.



    32비트 프로그램에서 16비트 DLL을 직접호출하는 것은 불가능합니다. 이 문제를 해결할 수 있는



    방법은 M$의 썽크 컴파일러를 사용하여 새로운 엔트리포인트를 만드는 방법이 있는데 이건 속도도



    느리고 해서 별로 권장하는 방법이 아니고요, 그냥 델파이 1, 2(?)와 같은 16비트 컴파일러를 이용해서



    16비트 DLL을 읽는 프로그램을 만들어서 32비트 프로그램과 통신을 하는 방법이 좋다고 생각되네요.



    통신을 하는 방법은 여러가지가 있겠지만 메세지를 통해서 데이타를 주고받거나 아님 메모리



    맵핑파일을 이용하는 방법이 있겠습니다.



    역시 젤 좋은 방법은 16비트 DLL을 32비트 DLL로 재컴파일해서 바꾸는 방법이겠죠...



    ^^ 항상 즐코하세요.



    정해성 wrote:

    > 윈도우 3.1에서 delphi1.0에서 개발한 application을

    > 윈도우 98에서 재컴파일 하려고 합니다.

    > 문제는 16bit로 작성된 dll을 사용해야한다는 거죠..

    > (현 상황에서 32bit dll 작성불가능)

    > 현재 테스트 해본 결과 실행시 에러가 발생하고 있습니다.

    >

    > 제가 알고 싶은건 원래 32bit application 에서 16bit로

    > 작성된 dll화일을 사용할수 없는 것인지? 그렇다면

    > 자세한 이유가 뭔지 알고 싶습니다..

    > 왜냐면 윗분들께 이해를 시켜야 하기 때문이죠..

    > 그럼.. 한 수 부탁드리겠습니다.

  • Profile
    이경문 2000.08.02 01:59
    정해성 wrote:

    > 윈도우 3.1에서 delphi1.0에서 개발한 application을

    > 윈도우 98에서 재컴파일 하려고 합니다.

    > 문제는 16bit로 작성된 dll을 사용해야한다는 거죠..

    > (현 상황에서 32bit dll 작성불가능)

    > 현재 테스트 해본 결과 실행시 에러가 발생하고 있습니다.

    >

    > 제가 알고 싶은건 원래 32bit application 에서 16bit로

    > 작성된 dll화일을 사용할수 없는 것인지? 그렇다면

    > 자세한 이유가 뭔지 알고 싶습니다..

    > 왜냐면 윗분들께 이해를 시켜야 하기 때문이죠..

    > 그럼.. 한 수 부탁드리겠습니다.



    ShowMessage는 내부적으로 16bit dll을 사용하고 있습니다.

    아마 Delphi 1에서 작성된 dll이 잘못되지 않은가 하는 생각이 드네요

  • Profile
    최용일 2000.08.02 03:36
    안녕하세요. 최용일입니다.



    제가 알고 있기로는 ShowMessage는 그냥 순순한 델파이 코드로 되어있는것 같은데...



    아닌가요? 버전에 따라 다를 수도 있고... 제가 잘못 알고 있을 수도 있고...



    ^^ 항상 즐코하세요.



    이경문 wrote:

    > 정해성 wrote:

    > > 윈도우 3.1에서 delphi1.0에서 개발한 application을

    > > 윈도우 98에서 재컴파일 하려고 합니다.

    > > 문제는 16bit로 작성된 dll을 사용해야한다는 거죠..

    > > (현 상황에서 32bit dll 작성불가능)

    > > 현재 테스트 해본 결과 실행시 에러가 발생하고 있습니다.

    > >

    > > 제가 알고 싶은건 원래 32bit application 에서 16bit로

    > > 작성된 dll화일을 사용할수 없는 것인지? 그렇다면

    > > 자세한 이유가 뭔지 알고 싶습니다..

    > > 왜냐면 윗분들께 이해를 시켜야 하기 때문이죠..

    > > 그럼.. 한 수 부탁드리겠습니다.

    >

    > ShowMessage는 내부적으로 16bit dll을 사용하고 있습니다.

    > 아마 Delphi 1에서 작성된 dll이 잘못되지 않은가 하는 생각이 드네요