2010-01-08 5 views
1

'add 속성'을 사용하여 realBASIC 프로젝트에서 사용할 전역 배열을 만드는 방법에 대한 팁은 무엇입니까? 아래 사진은 내 시도입니다.실제 기본 배열의 전역 배열

http://i17.photobucket.com/albums/b52/orubap/basic.jpg (편집 : 죽은 링크) camModel를 사용

(1) 컴파일하고 실행하지만 아무것도 반환하지 않습니다. camModel (4)를 사용하면 범위를 벗어난 오류가 발생하므로 반쯤에있는 것 같습니다.

제안 사항?

답변

2

코드가 컴파일 되더라도 배열을 초기화하는 올바른 방법은 아닙니다. 적어도 이렇게하는 것은 매뉴얼의 어느 곳에도 언급되지 않았습니다. 나는 컴파일러가 오류로 표시하는 것과는 달리 조용히 실패하고 있다고 말할 것이다. App.Open과 같이 init 메소드를 통해 값을 배치해야합니다. 또한 배열 인덱스는 초기화 중에도 0을 기반으로한다는 것을 잊지 마십시오.

camModel(2) as String 

다음 App.Open 이벤트 : 그래서, 코드에 의해가는 세 값의 배열 속성을 선언 준

그러나
camModel(0) = "Nikon" 
camModel(1) = "Sony" 
camModel(2) = "Philips" 

, 내가 그 일이 있다면,

camModel(-1) as String 

을 다음 배열 기능을 채울 : 나는 이렇게 속성을 선언 할

camModel = Array("Nikon", "Sony", "Philips") 

그런 식으로 나중에 더 많은 모델을 추가 할 수 있으며 매번 배열의 경계를 따라갈 필요가 없습니다.

1

"속성 추가"기능을 사용하여 전역 변수에 액세스하려면 새 모듈을 만드십시오. 그런 다음 어디서나 액세스 할 수있는 모듈에 속성을 추가 할 수 있습니다.

네임 스페이스를보다 깨끗하게 유지하려면 속성에 대한 액세스를 제한하고 싶을 수 있습니다. 전역에서는 YourVariableName을 사용하여 속성에 액세스 할 수 있지만 권한 (노란색 삼각형 기호)을 변경할 수도 있으므로 변수에 액세스하려면 YourModuleName.YourVariableName을 입력해야합니다. 그것은 물건을 조금 더 깨끗하게 유지합니다.

모듈을 생성 한 다음 Add Property를 클릭하고 YourArrayName(-1)Integer으로 선언하여 전역 배열을 쉽게 만들 수 있습니다. 표준 배열 함수 (ubound, append, remove 등)를 사용하여 배열의 항목을 추가, 제거 및 수정할 수 있습니다.