본문 바로가기
VB

[Vb6.0] Byval / Byref

by 엘딘 2022. 5. 6.

 

Byval - 변수를 받아옴, 값이 변하지 않고 정상적으로 리턴값을 받음

    하위 프로시저에서 바꾼 값이 상위 프로시저에서 반영되지 않음!

Public Sub Test()
	Dim A as Integer
    
    A = 1
    Debug.Print 1 & ". A=" & A
    
    Call Test2(A)
    
    Debug.Print 3 & ". A=" & A
End Sub

-------------------------------------------------------------------------------
Public Sub Test2(ByRef A as Integer)
	A = A + 1
    Debug.Print 2 & ". A=" & A
End Sub

===============================================================================
1. A = 1
2. A = 2
3. A = 1

 

 

Byref - 받아온 변수를 조작하여 값이 변함, 호출 속도 빠름, 변수의 주소를 참조 하여 인수를 가져 옴 

    하위 프로시저에서 바꾼 값이 상위 프로시저에도 반영됨

Public Sub Test()
	Dim A as Integer
    
    A = 1
    Debug.Print 1 & ". A=" & A
    
    Call Test2(A)
    
    Debug.Print 3 & ". A=" & A
End Sub

-------------------------------------------------------------------------------
Public Sub Test2(ByRef A as Integer)
	A = A + 1
    Debug.Print 2 & ". A=" & A
End Sub

===============================================================================
1. A = 1
2. A = 2
3. A = 2

'VB' 카테고리의 다른 글

[VB.NET] 엑셀 파일 생성  (0) 2022.05.12
[VB.NET] Excel 연결  (0) 2022.05.12
[C#] 숫자를 한글로 표현  (0) 2022.05.11
[VB 6.0] 스프레드와 DB 연결하기  (0) 2022.05.04
[VB6.0] 계산기  (0) 2022.05.03

댓글