창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


LIST ALL
Posted by 이진백2005-07-22 14:11:36, Hit : 5972
[ps.구루 강좌#13] 창조에서는 델파이에서 만든 DLL만 가능합니까?
Homepage : http://psoft.ev7.net/
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=open_lec&no=78
...라는 질문을 올리시길래 간단히 창조에서 안 되는 DLL의 유형을 골라 보았습니다.


(서론)
기본적으로 DLL은 언어적 한계를 초월합니다. (언어에 얽매이지 않음)
집에 델파이 안 깔렸다고 델파이로 만들어진 exe가 안 켜지는 아니듯이...


dll도 마찬가지입니다.
dll은 exe와 같은 형태입니다. 다른 게 있다면 무엇이 다를까요?

DLL은 혼자서 실행될 수 없습니다.
반드시 다른 exe 등이 dll을 부속으로 로드해서 함수를 실행해야 하죠.

또 하나는, dll은 그 특징대로 함수를 밖으로 끄집이 내놓을 수 있습니다.
이것이 약간의 필연적인 언어의 장벽을 어쩔 수 없이 생기게 합니다.




(본론)
생각을 조금만 해보십시오.


1. 언어 의존적 변수의 사용

function YouCantCallMeExceptDelphi( App: TApplication ); stdcall;

위는 예제로 DLL 내부 선언을 써보았습니다.

DLL에 델파이 고유의 객체인 TApplication을 선언하였군요,
다른 프로그램에서도 이 TApplication 대로 넣어야 합니다.

그렇게 가능한건 오로지 델파이로 만든 프로그램 뿐이지요.

그러므로;; 델파이로 만들지 않은 건 그게 가능합니까?
아니잖습니까.




2. 포인터의 한계
* Pointer 등의 형 (PChar => 창조에서 "문자"형으로 지원)
* 프로그램 내부 함수를 인자로 넣어야 할 때 (Enum~~~ API가 대부분 그렇습니다)
* 구조체의 사용

포인터 또한 일부 가로막기도 합니다. 어째서인지는 지상현님께서 많이 설명하셨을겁니다.



3. 특수한 DLL

ActiveX 형태의 DLL 역시 창조에서 사용할 수 없습니다.
ocx 또한 DLL과 비슷하지만, ActiveX 적이면 곤란합니다.

델파이에서는 이런 ActiveX DLL을 적극적으로 지원하여 객체로 포장해주죠.
그런 식으로 활용하여 델파이로 만든 프로그램 안에 얼마든지 WindowsMediaPlayer 같은게 들어갈 수 있죠.

VB도 이 점은 마찬가지일 겁니다.

못 믿겠으면, wmp.dll (Windows Media Player ActiveX) 을 한번 창조에서 써보시지요.




(나머지 더 있을지도 모르나, 여기서는 다루지 않겠습니다.)


(결론)
DLL은 무엇으로 짰느냐는 중요하지 않다.
그저, 어떤 형태로 입출력을 하느냐의 문제이다.

경우에 따라 델파이로 만든것 역시 창조에서 못 쓰게 될 수도 있다.
위의 대표적 조건을 충족한다면...

지상현   2005-07-22 PM 2:55:52  
당연하지만, 16비트 DLL 안되더라구요... 아 그리고 함수 이름을 안쓰고 오디널로 익스포트 한 것도 안되는 것 같습니다.

그리고 중요한 것....
stdcall 만 제대로 되는 듯 -_-;
LIST ALL               GO TO THE TOP


N
   Subject
Posted by
Date
H
119
   #03. 객체에 대한 이해-01
nylon 2002/09/14  5475
118
   #1 비트 연산이란? - 진수 표기법
지상현 2005/10/09  11405
117
   API를 알아보자 #1
지상현 2003/04/10  6595
116
   API를 알아보자 #2 [1]
지상현 2003/04/10  7500
115
   API를 알아보자 #3 [7]
지상현 2003/04/10  5971
114
   API사용을 위한 창조 구조체다루기 [M_S 0608190928] [3]
박종훈 2006/08/18  5553
113
     [0강] ㅎ배경의 좌표 체계에 대해서 알아보자! [2]
박종훈 2009/10/24  7029
112
   [0강] 그림판에 그림을 그려보자!
박종훈 2009/10/24  6637
111
     [1강] 그림과 관련된 객체
박종훈 2009/10/24  5767
110
       [1강] 직선을 그려보자!
박종훈 2009/10/24  7732
109
       [2강] ㅎ그림판에 그림을 그리기 위해 준비단계
박종훈 2009/10/24  5979
108
         [2강] 사각형을 그려보자!
박종훈 2009/10/24  5628
107
           [3강] 타원을 그려보자! (원 포함)
박종훈 2009/10/24  8382
106
             [4강] 현, 호를 그려보자! [4]
박종훈 2009/10/24  6266
105
   [ps.구루 강좌 #12♭]포인터를 왜 씁니까? [2]
ps.이진백 2004/12/31  6321
104
   [ps.구루 강좌#11] 서비스팩2에서 프로그램 추가/제거 설정
ps.이진백 2004/10/26  5481

   [ps.구루 강좌#13] 창조에서는 델파이에서 만든 DLL만 가능합니까? [1]
이진백 2005/07/22  5972
102
     [re] [ps.구루 강좌 #12♭]포인터를 왜 씁니까? [1]
지상현 2005/01/01  5642
101
     [re] [강좌#8] 간략히 설명을하자면... [1]
권선중 2004/06/27  5067
100
         [re] [끼적강좌 5] 로그인 구현강좌 [4강][다계정 구현] [5]
권선중 2005/06/27  5016
99
     [re] [끼적강좌 8]RPG게임을 만들어보자 [2강] [1]
권선중 2005/07/17  5713
98
     [re] [요청강좌#14] DLL제작 강의 (미완성) [2]
지상현 2005/10/09  6683
97
     [re] 배열강좌 추가..
변혁수 2005/01/20  4728
96
   [강좌#10] DLL에 HTML 쑤셔넣기 [6]
ps.이진백 2004/08/06  6228
95
   [강좌#1] 프로그램 추가/제거를 제어판에서! [3]
ps.구루 2003/01/28  8461
LIST ALL   1 [2][3][4][5] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인