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

C++빌더 Q&A
C++Builder Programming Q&A
[45468] Re:[질문] 볼랜드로 만든 DLL 2개를 VC++에서 호출했을때의 문제점 ㅠㅠ
외랑 [] 978 읽음    2006-06-27 16:50
혹시나 해서 드리는 말씀입니다.
Dll의 인스턴스를 하나로 같이 사용하시는게 아닐까 해서.. 한번 확인해보시길 권해드립니다.
어차피 호환이 되는 형태의 Dll로 만들게 되면 c의 기본 호출 형태로 만들어지는데, 이는 윈도우즈에서 동작하는 것을 다 만들수 있다고 봐도 되겠지요..

다만 정적으로 컴파일 하셨어도 사용할 때는 메모리를 동적으로 할당해서 써야 하는 경우가 있다는 것을...


시몬 님이 쓰신 글 :
: 안녕하세요 항상 도움을 받고있는 초짜입니다.
:
: 이곳에서 알려주신대로 볼랜드 C++로 ClientSocket을 포함하는 DLL을 만들어 VC++에서 정적으로
:
: 로드하여 사용하는데 까지 성공하였습니다. 감동감동~~ ^^
:
: 그런데 문제는 ClientSocket을 가지는 DLL (DLL이름, 포트넘버 등등 모두 틀립니다)을 만들어서 같은 방법으로
:
: VC++ 프로젝트에 추가하여 띄웠더니 마지막에 오픈한 Socket만 열리네요 ㅠㅠ
:
: 그니깐 예를들어 DLL 1 번의 소켓을 여는것이 Open1() 이고 DLL 2번 소켓을 여는것이 Open2()일때
:
: Open1();
: Open2();
: 이렇게 하면 Open2()에 있는 소켓만 열리고
:
: Open2();
: Open1();
: 이렇게 하면 Open1()에 있는 소켓만 열립니다.
:
: 나름대로 원인을 찾다 보니까 Thread인 경우도 같은 증상이 일어납니다.
:
: 예를들어
:
: DLLThreadRun_1();
: DLLThreadRun_2();
: 이렇게 하면 Thread가 2만 돌고
:
: DLLThreadRun_2();
: DLLThreadRun_1();
: 이렇게 하면 Thread가 1만 도네요 ㅠㅠ
:
: 여러개의 DLL을 써도 Thread는 1개 밖에 사용할 수 없는건가요?
: 혹시 볼랜드 C++로 만든 DLL을 VC++에서 사용할때 VC++에서 볼랜드용 DLL은 전부 Thread를 같다고 인식
: 하는건가요?
:
: 이게 어찌된 현상인지 아시는 고수님들의 답변을 기다리고 있습니다.
:
: 도와주세요~~

+ -

관련 글 리스트
45458 [질문] 볼랜드로 만든 DLL 2개를 VC++에서 호출했을때의 문제점 ㅠㅠ 시몬 930 2006/06/26
45468     Re:[질문] 볼랜드로 만든 DLL 2개를 VC++에서 호출했을때의 문제점 ㅠㅠ 외랑 978 2006/06/27
45472         Re:Re: 답변 정말 감사드립니다 ~~ ^^ 시몬 893 2006/06/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.