Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[12178] 전에 한번 올렸던 질문입니다. 미칩니다 아주... 고수님들 부탁 드릴께요..
김용하 [devgod] 1684 읽음    2008-08-25 18:37
현재 이미지 핸들링 관련 프로젝트를 진행 중에 있습니다.
플로우를 간략하게 설명 드리겠습니다.

1. VC++을 이용하여 동적 DLL을 제작하여 델파이 엔지니어에게 전달 하였습니다.
2. 델파이 프로그램에서 저희가 만들어준 DLL을 링크 합니다.
    여기서 잠깐 : 저희가 만들어준 DLL에서는 DLL과 저희쪽 Application과 Socket을 연결하여
                        이미지 데이터를 주고 받습니다.
3. 델파이에서 이미지 하나를 DLL을 이용하여 저희쪽 Application에 전송합니다.
4. 저희쪽 프로그램에서는 델파이에서 보내는 이미지를 DLL을 통해 받은 후 적당한 처리를 수행 합니다.
    수행이 다 끝나면 보내온 DLL로 결과를 보냅니다.(이미지와, Float형 값, 정수형값등)
5. DLL에서 저희쪽 Application에서 보낸 결과를 받은 후 델파이로 결과를 가지고 갈 것을 요청하는 윈도우
    메시지를 SendMessage를 이용하여 델파이에게 통보 합니다.
6. 그러면 델파이는 DLL함수를 이용하여 결과값을 가지고 갑니다.

그런데 이때 델파이 프로그램이 비정상적으로 죽어 버립니다.
결과값을 다 가지고 가고 나서 말이져.

그런데 델파이 개발자는 저희 쪽에서 DLL을 잘 못 만들어 그렇다고 버팁니다.

어떻게 해야 델파이에서 정상적으로 값을 받고 나서 죽지 않을 까요... 미칩니다.



델파이 소스입니다
GetResultData(&coeff, &size, data, &flag)
memo1.(coeff)
memo1.(size)
memo1.(data)
memo1.(flag)
이렇게 하면 안 죽습니다,
그런데 memo는 전혀 필요 없는 거고요... 죽으니까 저걸 써서 데이터를 풀어 보았습니다.

C쪽 Dll은
extern "C" __declspec(dllexport) int GetResultData(float *Coeff, unsigned long *Size, unsigned char *Data, int* Flag)
{
   
    //::SetFocus(pMainProc->m_hWnd);
    return pMainProc->GetResultData(Coeff, Size, Data, Flag);;
}
이렇게 되어 있습니다.

결론은
델파이쪽에서
GetResultData(&coeff, &size, data, &flag) 이거만 호출 해서 데이터를 받아 가야 합니다.

부탁 드릴께요...

+ -

관련 글 리스트
12178 전에 한번 올렸던 질문입니다. 미칩니다 아주... 고수님들 부탁 드릴께요.. 김용하 1684 2008/08/25
12179     Re:전에 한번 올렸던 질문입니다. 미칩니다 아주... 고수님들 부탁 드릴께요.. cocos 1490 2008/08/26
12180         Re:Re:전에 한번 올렸던 질문입니다. 미칩니다 아주... 고수님들 부탁 드릴께요.. 김용하 1541 2008/08/26
12181             Re:Re:Re:전에 한번 올렸던 질문입니다. 미칩니다 아주... 고수님들 부탁 드릴께요.. cocos 1530 2008/08/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.