Q&A

  • DLL호출 cpp헤더를 델파이로 옮겨서 쓰는중.
CPP로된 DLL이 있는데 그것을 이용한 함수 입니다.
아래와 같은 구조체에 데이터를 넣어서 호출하게 됩니다.
아래 멤버는 축약 시켜 놓은 거구요. Error메시지와 같은 리턴 받는 것도 있습니다.

typedef struct tExtraP
        {
        long lStructSize;        
                BOOL bCallback;        
                HWND hCallbackWindow;        
        LPSTR szLogFile;
                LPSTR szErrorMessage;
               } ExtraP,*PExtraP,far *LPExtraP;

extern "C" BOOL 'ExtraPFunc'(LPExtraP);        


를 아래로 했구요.

type
  pExtraP = ^tExtraP;
  {$EXTERNALSYM tExtraP}

  tExtraP = packed record
    lStructSize: LongInt;
    bCallback: Bool;
    hCallbackWindow: HWND;
    szLogFile: PChar;
    szErrorMessage: PChar;
  end {tpExtraP};

이렇게 선언했구요.
function TestO2(aExtraP : pExtraP): Bool; cdecl; external 'Test.dll' name 'ExtraPFunc';

이것에 사용부는.
var
aExtraP: pExtraP;
begin
aExtraP:= AllocMem(sizeOf(tExtraP));

aExtraP.szLogFile := 'c:\temp.log'; // <- 이런식으로 데이터를 넣구.

TestO2(aExtraP.szLogFile); //<- 호출을 하게 되면 에러가 납니다. ㅠ.ㅠ.


,far *LPExtraP; 이것을 파라미터로 선언해서 사용하는 방법을 잘모르겠습니다.
올바른 선언 법은 무엇인지요?
0  COMMENTS
    • 최용일
      2007.02.15 08:39
      안녕하세요. 최용일입니다. 첫번째 같은 경우는 한번도 발생한적이 없어서... Assign만 하면 별문제 없...
    • 이은주
      2007.02.15 22:47
      말씀하신대로 하니까 TImageList 에서의 이미지는 정상적으로 들어가고 뒤에 흰색은 없지만 검정색이 약간 ...
    • 이은주
      2008.12.10 10:35
      컴포넌트를 dev 로 바꾸었는데 이제는 그런 문제가 없군요. 최용일님께 다시 한번 감사 말씀 드립니다. ...
    • 박준철
    • 2007.02.14 10:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이희진
      2007.02.14 22:48
      프로젝트 소스 상에 uses 절에 들어간 순서대로입니다. uses절에서 순서를 정렬하시면 됩니다. ^^ 자...
    • 문혜윤
    • 2007.02.13 18:46
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2007.02.16 05:56
      착한천사 김경록입니다. 이런것은 SQL-Tunnig에 속하는 것으로 님께서 작성하신 중복 Query문은 1개의 SQ...
    • 최용일
      2007.02.15 02:15
      안녕하세요. 최용일입니다. ORAQuery1의 데이터 한건당 4번의 쿼리를 다시 날리는구조군요. 데이터가 많...
    • 궁금이
    • 2007.02.13 08:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2007.02.16 06:03
      어려운거네요.. 이런거는 흔히 무협지 볼때 많이 봤던건데.. T.T 경험상으론.. 한글 조합형을 완성형...
    • 박성준
      2007.02.13 09:49
      TEmbeddedWB를 사용했을때 Download Option에 이미지를 다운로드 하지 않는 프로퍼티가 있습니다. 이...
    • 이윤희
      2007.02.13 17:56
    • 진석
    • 2007.02.13 03:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2007.02.13 12:34
      안녕하세요. 최용일입니다. in구문은 Project나 Library소스파일에서만 쓸 수 있습니다. 프로젝트별...
    • 이희진
      2007.02.13 17:57
      ShellExcute를 사용하는 건 좋은 해결책이 아닌 것 같습니다. printer.Canvas.Draw(0,0,Image1.Picture....
    • 윤지현
      2007.02.13 18:49
      답변 감사합니다. 제가 쓰는 이미지 확장명이 bmp 가 아니라 jpg라서 그런 것 같습니다. 용량이 확 ...
    • 이희진
      2007.02.14 22:51
      간단하게 구현해봤으니 참고해보세요.
    • 윤지현
      2007.02.15 00:22
      친절하게 소스까지.. 정말 감사합니다. ^^* 주신  샘플코드로 실행해봤는데, 여전히 출력할 ...
    • 이희진
      2007.02.15 01:57
      프린터 드라이버 설정 문제로 보입니다. 최신 드라이버인지, 프린터 설정은 어떻게 되어 있는지 확인해보...
    • kivalan
    • 2007.02.12 19:51
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이희진
      2007.02.12 21:26
      네, 별도의 처리를 해주어야 합니다. 윈도우 작업표시줄에 뜨는 건, 어플리케이션의 시스템 메뉴이고, ...
    • 박성준
      2007.02.12 23:53
      처음에 사실 질문이 이해가 되질 않았습니다. ^^;; 그런데, 답변을 보고 검색을 나름대로 해보니 이해했...
    • 이은주
      2007.02.13 08:57
      몇년 넘게 델파이를 쓰면서 이걸 모르고 계속 의문만 가지고 있었네요. 다른 분들도 모르시는 분들이 계실...
    • 박성준
      2007.02.13 09:51
      좀더 몇자 적어보면 저는 개인적으로 델파이사이트를 참고할때 국내 널리알려진 몇군데만 접속하거든요? ...
    • 박동호
    • 2007.02.10 16:54
    • 2 COMMENTS
    • /
    • 0 LIKES
    • Marek
      2007.02.10 21:37
      안녕하세요. 6.5와 2000의 특성보다는 키값의 중복때문입니다. 거래처의 테이블구조를 살펴보시고 키중복...
    • 박동호
      2007.02.15 17:26
      고맙습니다.
    • HEIM(델파리)
      2007.02.15 23:48
      결국 자답을 하게되었네요. 이 문제로 고민하시는 분이 꽤 있으셨더군요. 델파이 용 라이브러리 두개...
    • 모영철
      2007.02.10 02:47
      FreeAndNil(pTimer);
    • 이은주
      2007.02.10 15:20
      감사합니다. 그런데 이게 할당이 밴수에 인스턴스가 생성안된 경우에도 문제가 없는건지 모르겠군요. ass...
    • 모영철
      2007.02.12 20:02
    • 이은주
      2007.02.13 08:47
      ..!
    • Marek
      2007.02.10 21:55
      안녕하세요 델파이 팁&테크에서 GetCurrentUserAndDomain으로 검색하시면 최용일님께서 올린 팁을 찾으실...
    • 낙화
    • 2007.02.09 17:51
    • 0 COMMENTS
    • /
    • 0 LIKES
    • sulonge
    • 2007.02.08 22:16
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2007.02.11 00:51
      음.. "저도 CTRL+마우스 클릭" 이 좋다고 생각합니다. 저는 델4는 기억이 잘 안나고, 델5,6에서는 되었던...
    • 박성준
      2007.02.11 01:22
      View Explorer에 대한 답변을 제가 달긴했어도... 저또한 CTRL+마우스 클릭이 좋다고 생각합니다... 저...
    • 깔쌈보이
      2007.02.09 20:40
      CTRL 키를 누른채로 해당 함수를 마우스로 클릭해보십시오. 델파이 버젼을 얼마를 가지고 계신지 모르겠지...
    • 박성준
      2007.02.08 23:10
      저도 왕초보지만 제가 아는 내용이라 답변 적어봅니다. 제가 사용하는 Delphi 7 Version에선 Shift + C...
    • 델파인
    • 2007.02.08 18:55
    • 2 COMMENTS
    • /
    • 0 LIKES
    • NeoSky
      2007.02.10 19:57
      이렇게 하니깐.. 되네요.  EmbededWB Event에 있습니다. procedure TForm1.EWB1NewWindow2(Se...
    • 박성준
      2007.02.08 20:32
      http://www.delmadang.com/cwb-bin/CrazyWWWBoard.exe?db=dmdqa&mode=read&num=128531&page=1&backdepth=1 ...
    • 이종운
    • 2007.02.08 07:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2007.02.08 21:46
      안녕하세요. 최용일입니다. 1번은 델파이 Bin폴더에 dcc32.exe라고 커맨드라인 컴파일러가 있습니다. 도...
    • 민스맘
    • 2007.02.07 02:45
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 행복맨
      2007.02.09 02:33
      음... 지나가다... 폼의 속성중에 showing 이란 속성으론 해결이 안되나여 ?
    • 박성준
      2007.02.09 03:02
      그게 더 간단할수도 있겠는데요?
    • 석주현
      2007.02.07 07:47
      좀 질문이 애매하네요. 일단 Form 을 Show 하면 Visible 이 True 될 것이고 Close 하면 Visible 이...
    • 민스맘
      2007.02.07 18:44
      Form 을 Close 하면서 Free 하거든요...그래도 과연 그게 될까요?
    • 석주현
      2007.02.09 00:27
      Form을 Free 하면서 Form := nil 해주고 나중에 if Form = nil then 으로 하시면 될 것 같네요. ...