Вы утверждаете, что размещаете JSON:
blockquote>"Content-Type: application/json",
Но так вы генерируете данные, которые вы POST:
blockquote>http_build_query($data)
И документация для этого гласит:
Создать строку запроса в кодировке URL
blockquote>Вам необходимо отправить фактический JSON. Используйте
json_encode
.
У меня нет ответа, и это, конечно, любопытный вопрос, но почему бы просто не добавить метод и не двигаться дальше?
'Passed the test
Public Sub LetMyArray(anArray() As Long)
m_myArray = anArray
End Sub
'oClass.MyArray = newArray ' <- This kills VB6 dead
oClass.LetMyArray newArray ' <- This works
Я понятия не имею, почему это происходит, но если вам все равно нужна копия массива, используйте вариант в классе 2:
Private m_myArray As Variant
Public Property Get myArray() As Variant
myArray = m_myArray
End Property
Friend Property Let myArray(anArray As Variant)
m_myArray = anArray
End Property
Исправляет это, но все же мне любопытно причина.
Это ошибка в IDE (скомпилирована нормально), которую MS никогда не исправляла. Я использую обходной путь с временным массивом вроде этого:
Friend Function Add(newArray() As Long) As Class1
Dim oClass As Class1
Dim tempArray() As Long
Set oClass = New Class1
tempArray = newArray
oClass.myArray = tempArray <- Should work now
MsgBox "passed"
End Function
К вашему сведению, с байтовыми массивами ситуация ухудшается (длинные массивы безопасны), когда вы случайно наводите указатель мыши на параметр или свойство массива. Лучше держите мышь подальше от кода: -))