VB6 Определение динамического массива - PullRequest
1 голос
/ 18 мая 2009

В VB6 вы можете объявить массив статически и динамически. Когда массив объявляется динамически, возможно ли определить, был ли массив объявлен динамическим, и, следовательно, возможно, понадобится «redim» перед его использованием? то есть я ищу что-то вроде:

if myarray is dynamic then
  redim ...
end if
myarray(x) = y

Ответы [ 2 ]

1 голос
/ 18 мая 2009

Используйте этот код

Private Sub Command1_Click()
    Dim A() As Double
    Dim B() As Double
    ReDim B(4)
    If (Not A()) = -1 Then MsgBox "Empty"
    If (Not B()) = -1 Then MsgBox "Empty"
End Sub

(Not ArrayName ()) возвращает -1, если оно пустое.

1 голос
/ 18 мая 2009

К сожалению, нет ничего внутреннего, чтобы сказать, является ли массив динамическим. Возможно, вы могли бы что-то взломать, используя специальные знания базовой реализации массивов VB6, как в книге Мэтта Керланда.

Я думаю, что лучше всего использовать функцию в этом ответе . Он проверяет, является ли массив динамическим массивом, который необходимо переопределить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...