Q&A

  • DLL을 만들었는데 ... 에러...ㅠ.ㅠ
* 사용환경 : 델파이5 / Windows 98

* 에러 메시지 :



제가 공통함수만을 모아서 DLL을 만들었습니다.



아래와 같은 함수가 있는데...



위의 strFrontFillZero는 DLL에서 콜해도 에러가 없습니다.



그런데... 아래의



getComboItemIndex같은 경우는 오류가 떨어집니다.



그래서 getComboItemIndex 같은 경우는 그냥 원래 프로그램에 연결해서



쓰고 있습니다.



function strFrontFillZero( iValue: Integer; iLen: Integer ): String; stdcall;

function getComboItemIndex( Sender: TObject; strValue: String; iLen: Integer ): Integer; stdcall;



보니까... 제 생각에.. -_-?



TObject라는 타입이 들어가서 오류가 나는 것이 아닌가 생각이 됩니다.



다른 함수 TDateTime이라는 타입이 들어간것도 오류가 납니다.



그러니까... Class 형태로 만들어진 타입이 있으면 오류가 나는 듯 합니다.



엉~ 정말 그런건지? 아니면 해결할 수 있는 방법이 있는건지 알고싶습니다.



고수님들의 답변 부탁드립니다.

1  COMMENTS
  • Profile
    어린왕자 2001.06.02 01:32
    DLL을 쓸때는 왠만으면 델파이에서만 통하는거로 쓰면 안좋구여..



    TObject 형태는 타입캐스팅 잘해줘서 사용하셨겠죠?



    리턴값이 String이면 문제가 있습니다..



    값받은 놈이 String의 원래값있는 위치를 가지죠..(내가 아는 고수님이 그랬어요..)



    그래서 만일..Dll이 없어져 버리면..그위치를 가지는 포인터는 머 미아가 되어버려 에러가 뜨져..



    그래서..스트링을 케릭터로 받아서 메모리 카피(StrLPCopy)하라구 글더라구요..



    암튼 메모리 쪽이 문제 인거 같아요..(TDateTime두 마찬가지 일까?? 생각한번 해봐여^^)

    메모리 카피카피해셔여~~~





    남윤혁 wrote:

    > * 사용환경 : 델파이5 / Windows 98

    > * 에러 메시지 :

    >

    > 제가 공통함수만을 모아서 DLL을 만들었습니다.

    >

    > 아래와 같은 함수가 있는데...

    >

    > 위의 strFrontFillZero는 DLL에서 콜해도 에러가 없습니다.

    >

    > 그런데... 아래의

    >

    > getComboItemIndex같은 경우는 오류가 떨어집니다.

    >

    > 그래서 getComboItemIndex 같은 경우는 그냥 원래 프로그램에 연결해서

    >

    > 쓰고 있습니다.

    >

    > function strFrontFillZero( iValue: Integer; iLen: Integer ): String; stdcall;

    > function getComboItemIndex( Sender: TObject; strValue: String; iLen: Integer ): Integer; stdcall;

    >

    > 보니까... 제 생각에.. -_-?

    >

    > TObject라는 타입이 들어가서 오류가 나는 것이 아닌가 생각이 됩니다.

    >

    > 다른 함수 TDateTime이라는 타입이 들어간것도 오류가 납니다.

    >

    > 그러니까... Class 형태로 만들어진 타입이 있으면 오류가 나는 듯 합니다.

    >

    > 엉~ 정말 그런건지? 아니면 해결할 수 있는 방법이 있는건지 알고싶습니다.

    >

    > 고수님들의 답변 부탁드립니다.

    • 하기
      2001.06.02 02:33
      program이 실행은 제대로 되나요??? 무한 Loop에 빠질것 같은데요... while not eof do begin ... ...
    • ㅠ.ㅠ
      2001.06.02 02:54
      하기 wrote: > program이 실행은 제대로 되나요??? > 무한 Loop에 빠질것 같은데요... > while not eof ...
    • 궁금이
    • 2001.06.02 00:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 감초
      2001.06.02 14:36
      qrlabel을 사용해서 데이타를 인위적으로 나타낸 페이지는 디자인시에는 preview가 안됩니다. 하지만 실행...
    • 방기남
    • 2001.06.01 23:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김상면
      2001.06.02 03:37
      저희와 똑같은 경우이네요... 1년동안 유지보수했는데 별문제 없었습니다... 항상 건강하시구요... ...
    • 방기남
      2001.06.02 02:42
      NewPage 라는 메소드를 본 것 같습니다.
    • 궁금이
      2001.06.02 03:47
      답변주셔서 ㄱ맙습니다. 몇가지 있는데 제대로적용이 안되서 질문올렸어요. 제대로 적용하는 방법...
    • 김태용
      2001.06.01 23:35
      델중 wrote: > 이거하나만 ... '-'가 key 값이 어떻게 되죠 지금 거래처 예요 빨리좀 가려쳐주세요 > 예:...
    • 명지니
      2001.06.02 00:48
      #13 = 엔터 #39 = 따옴표? #45 = 작대기... -_-; 이런걸 어떻게 알아내나요? 혹시 이런 리스트나... 알...
    • 방기남
      2001.06.02 02:50
      뭐.. 간단히 AcroEdit 에 보시면 [ASCII 표] 라는 메뉴가 있구요.. 코딩으로 하자면, 쉬운 방법이 있...
    • aparadin
      2001.06.01 23:36
      초보델피언 wrote: > 탭키의 순서를 정하려면 TabOrder로 하자나요! > > 근데 평소엔 그대로 사용을 하...
    • 초보델피언
      2001.06.02 00:03
      친절한 답변 감사합니다. aparadin wrote: > 초보델피언 wrote: > > 탭키의 순서를 정하려면 TabOrder로...
    • 김말동
      2001.06.01 22:05
      델초보 wrote: > 학교에서 실습하던중에여~~ > > Record locked by another user. > Table:A:aaa.DB ...
    • 진짜초보
      2001.06.01 21:46
      델초보 wrote: > 학교에서 실습하던중에여~~ > > Record locked by another user. > Table:A:aaa.DB ...
    • mkbig
    • 2001.06.01 20:40
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 남윤혁
    • 2001.06.01 20:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 어린왕자
      2001.06.02 01:32
      DLL을 쓸때는 왠만으면 델파이에서만 통하는거로 쓰면 안좋구여.. TObject 형태는 타입캐스팅 잘해줘서 ...
    • 초보지만
      2001.06.01 21:16
      이상하다 wrote: > Activex를 이용해서 인터넷을 통해 > 웹서버에 접속합니다 > 마이다스,오라클,델파이...
    • 이상하다
      2001.06.01 21:31
      물론 다되어있구여,, Session도 되었죠
    • 초보지만
      2001.06.01 22:42
      이상하다 wrote: > 물론 다되어있구여,, > Session도 되었죠 그럼 서버 캐시 메모리 늘려주세요!
    • 이히히
      2001.06.01 21:18
      Socket에 담긴 데이타는 다른 변수에 그 데이타를 옮기는 순간 비워지게 됩니다. 그래야 버퍼풀이 안 생기...
    • 전해영
    • 2001.06.01 19:39
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 서철기
      2001.06.01 23:15
      quickrep1.prepare; TotPage := IntToStr(QuickRep1.QRPrinter.PageCount); quickrep1.preview 또는 qu...
    • 전해영
      2001.06.05 20:31
      감사
    • 감초
      2001.06.03 03:33
      .
    • 감초
      2001.06.01 22:19
      아직까지 퀵리포트에서는 먼저 Preview를 한 후에 마지막 페이지의 값을 저장했다가 Print시에 보여주는...
    • 명지니
      2001.06.02 00:46
      훔... 퀵레포트였나여? 밑에 말한건 그냥 코딩으로 프린트 한거라... 이게 도움이 될지는... ^^; 제멋...
    • 백승환
    • 2001.06.01 19:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2001.06.02 03:36
      안녕하세요. 최용일입니다... 델파이는 기본적으로 프로젝트별로 사용자 환경을 저장해놉니다... 그래서...
    • 서경환
      2001.06.01 20:50
      아마도 버튼의 Default 프러퍼티가 트루가 돼어 있기 때문이지 아닌가.... 화랑초보 wrote: > 질문인데...
    • 화랑초보
      2001.06.02 00:45
      님말씀대로 하니깐 되는데요 버튼에 Default 프러퍼티에 대해서 쩜만 설명좀 부탁 드려도 될런지요. 다시...
    • 최용일
      2001.06.02 03:25
      Default=True인 버튼이 하나라도 있다면 엔터를 누르면 바로 버튼의 OnClick이벤트를 실행하도록 만들어졌...
    • 정지선
    • 2001.06.01 19:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2001.06.02 04:24
      안녕하세요. 최용일입니다. 52번 에러라면 .jpg파일 포멧이 아니란 것인데... 아마도 확장자만 jpg인 비...