VB6의 일부 객체 지향 기능에 익숙해졌습니다. 나는 자바와 함께 많은 OOP를 해왔다. 그리고 이것을 작동 시키려고 노력하고있다 :비어있는 배열의 인덱스인지 확인 VB6
나는 Card
개의 배열을 가지고 있는데 배열의 인덱스에있는 객체가 만들어 졌는지 확인하고 싶다. 나는 아직 인덱스에 개체를 할당 한 경우 테스트하려면이 옵션을 사용하여 시도하는 경우
Set cardsPlayer1(index) = New Card
:
Dim cardsPlayer1(1 To 10) As Card
는이 같은 객체를 생성
For counter = 1 To 10
If (cardsPlayer1(counter) Is Nothing) Then
Set cardsPlayer1(counter) = New Card
End If
Next counter
그러나 그것은 나에게 진정한했다 값을 매번 사용하고 전체 배열에 새 객체를 만듭니다.
'Jordan Mathewson
'May 31, 2013
Dim cardsPlayer1(1 To 10) As Card
Dim cardsPlayer2(1 To 10) As Card
Private Sub cmdStartGame_Click()
Call addCard(1)
End Sub
'Called to add a card to one of the player's stacks
Private Sub addCard(player As Integer)
Dim counter As Integer
'To add a card to player1..
If (player = 1) Then
For counter = 1 To 10
If (cardsPlayer1(counter) Is Nothing) Then
Print "Object created." '<- Printed 10 times.
Set cardsPlayer1(counter) = New Card
End If
Next counter
'To add a card to player2..
Else
For counter = 1 To 10
If (cardsPlayer2(counter) Is Nothing) Then
Set cardsPlayer2(counter) = New Card
End If
Next counter
End If
Call refreshForm
End Sub
맞습니다. 그게 왜 효과가 없을지 모르겠다. 거기에 당신이 보여주는 다른 부분이 있습니까? 아니면 잘못하고 있다는 것을 어떻게 알 수 있습니까? – Boann
다시 타이핑하지 않고 코드를 복사하여 붙여 넣을 수 있습니까? 특히 처음 두 샘플, 오타를 발견하는 데 도움이 될 수 있습니다. – Deanna
* 요소 *가 될 수 있지만 * 색인 *은 비워 둘 수 없습니다. – Bob77