RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR

출처 : http://www.egocube.pe.kr/cubeboard/contentview.asp?tablename=adsi&cpage=8&number=18&ordernumber=17

이번에는 정말 몰라서 아예 긁어왔습니다.

안녕하세요? 또 들러 주셔서 감사합니다. ^_^

음... 말씀하신 "Sub를 호출할 때는 괄호를 사용할 수 없습니다." 에러는 어쩌면 진실을 아시고 나면 허탈하실 수도... ^_^;;;

이 에러는 VB 에서 발생하는 에러입니다. 아시다시피 VB 나 VBScript 에는 두 종류의 프로시져가 있죠. 하나는 Function 이고 다른 하나는 Sub 입니다. 보통 C/C++ 이나 JavaScript 등에서는 function 하나 밖에 없는데 비해서 조금 특이한 경우입니다만...

아무튼 이 두 프로시져간의 차이점은 딱 하나입니다. 바로 리턴값이 있느냐 없느냐 그것이죠. Function 프로시져는 리턴값이 있을 때 Sub 프로시져는 리턴값이 없을 때 사용합니다. 그런데 이런 프로시져를 사용할 때 한 가지 주의점이 있습니다.

리턴값이 있는 Fucntion 프로시저는 일반적으로 다음과 같이 사용합니다.
retVal = MyFunction(aVal, bVal)

그런데 리턴값이 없는 Sub 프로시저의 올바른 사용법은 다음과 같습니다.
MySub aVal, bVal

바로 괄호를 사용하지 않는 것이죠. ^_^;;; 그런데 아무리 Function 프로시져라고 하더라도 리턴값을 받지 않고 리턴값을 사용하지 않으면 Sub 처럼 괄호를 사용할 수 없습니다. 따라서 다음과 같이 사용해야 하죠.
MyFunction aVal, bVal

지금 발생한 에러가 바로 이 에러입니다. 만약 괄호를 사용하시고 싶다면 다음과 같이 사용하셔야 합니다.
Call MySub(aVal, bVal)

알고 나시니 허탈하시죠? ^_^;;; 주로 ASP 에서 사용하는 VBScript 에서는 이 두 가지 사용법에 구분이 없습니다. 그러나 VB 에서는 이를 철저하게 검사하는 펀이고 ASP 에서도 가끔가다가 컴포넌트를 사용하는 경우 컴포넌트단에서 해당 에러가 발생하는 경우가 있죠.

감사합니다.
2008/02/25 00:47 2008/02/25 00:47
http://web20korea.com/trackback/138
[로그인][오픈아이디란?]
web20korea:info@web20korea.com
web20korea@gmail.com
info@web20korea.com web20korea@gmail.com
전체 (274)
i6020345 (87)
Blogs (21)
Program (67)
Tools (23)
Project (62)
informative (14)
gohome (0)
«   2010/08   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
  1. 패핑 1.4  
  2. 베스트 키즈  
  3. 엽문2  (2)
  4. 윈도우 7 팁  
  5. [MSSQL] 내장 MD5 암호화 활용  
  1. 행복한 우리집  01/20
    환영합니다
  2. 어흥이 굴에 들어와도 정신만 차리면 하나 건져간...  2009
    "인터넷 문화에 대처하는 방법은?" 이라는 주제에...
  3. 주네의 열린 소프트웨어  2009
    아시아 오픈소스
  4. iPod Life  2009
    iPod Touch 's Sadari 체험기
  5. Life OS X 10.5 Leopard  2008
    iPod touch 2nd 리뷰 - 간단리뷰
  1. 2010/07 (2)
  2. 2010/06 (4)
  3. 2010/05 (2)
  4. 2010/03 (2)
  5. 2010/02 (11)