... 좀 예전의 코드와 함께 일하고는이 같은 글로벌 변수를 정의 ...VB6에서 설정되지 않은 변형의 기본값은 무엇입니까?
Public myvar
를이 변수에 값이 할당되지 않습니다,하지만 나중에 테스트에 사용되는
If myvar <> somevalue then
'do something
End If
somevalue의 어떤 값에 대해 수행 할 작업이 있습니까?
... 좀 예전의 코드와 함께 일하고는이 같은 글로벌 변수를 정의 ...VB6에서 설정되지 않은 변형의 기본값은 무엇입니까?
Public myvar
를이 변수에 값이 할당되지 않습니다,하지만 나중에 테스트에 사용되는
If myvar <> somevalue then
'do something
End If
somevalue의 어떤 값에 대해 수행 할 작업이 있습니까?
Empty
입니다.Empty
, 0
또는 ""
...
하는 숫자 변수는 0으로 초기화된다 가입일
는 가변 길이 스트링 길이가 0 인 문자열 ("으로 초기화 ")이며 고정 길이 문자열은 0으로 채워진 입니다. Variant 변수 은 Empty로 초기화됩니다. 사용자 정의 유형 변수 인 각 요소 은 변수 인 것처럼 초기화 된 입니다. 나는 가정을 만들 것 Get the most out of Variants in VB6에서
myvar
다음 ""없는 경우 do something
그. 나는 확신 할 수 없으며 지금 바로 확인할 수는 없지만 직접 확인하실 수 있습니다.
는 변형이 선언되었지만 에 값이 할당되지 않은 때, 특수 값 빈을 포함합니다. 당신은 빈 변형이 표현에 사용되는 경우
, 그것은 하나 로 값을 0 또는 표현에 따라 빈 문자열 을 평가합니다 ... IsEmpty 함수 기능
와 이 테스트 할 수 있습니다. 메모리를 제공하는 경우
+1은 Empty 변형이 문자열로 "" ""또는 숫자가 '0'으로 강제 변환된다는 것을 상기시켜주기 위해 +1합니다 – MarkJ
, someValue'가 Nothing' '의 값이 할당되어'경우 위의 코드 충돌 것, 또는 그 기본 속성 수율'Nothing' 등-일치 한 NOT 연산자 비교 것이기 때문에 목적으로한다 'someValue'의 타입이'Object'인지 확인하고, 디폴트 프라퍼티를 가져 와서 비교해 봅니다. (필요하다면, 디폴트 프라퍼티를 가져 오는 것, 등등.) Nothing의 디폴트 프라퍼티를 얻으려고 시도하기 때문에 '실패하면 코드가 충돌합니다. – supercat
@supercat 질문에 "이 변수에는 값이 할당되지 않습니다"라고되어 있습니다. 그러므로 VB6이기 때문에 Empty (Nothing과 다른)를 포함하게됩니다. 따라서 Empty, 0 또는 ""을 제외한 임의의 값에 대해 "무언가가 완료 될 것" – MarkJ
질문은 'myVar'에 값이 지정되지 않고 전 명령문이 실행할 someValue의 값을 묻는 것을 전제로합니다.'On Error Resume Next'가 유효하다면 어떤 일이 일어날지는 모르겠지만'someValue'가'Nothing' 일 때'do something' 코드는 실행되지 않을 것이라고 확신합니다. – supercat