Программа выдает ошибку "Run-time error "28" Недостаточно места в стеке" в выделенном месте. Когда пропускаю ошибку выдает неправильный результат. Подскажите, что не так?
Код:
_______________________________________________
Dim mask()
Dim I
Private Sub Picture1_Click()
Dim x As Integer, y As Integer
Dim w, h
w = Picture1.ScaleWidth - 1
h = Picture1.ScaleHeight - 1
ReDim mask(w, h)
For y = 1 To h - 1
For x = 1 To w - 1
If mask(x, y) = 0 And Picture1.Point(x, y) = vbBlack Then
Mk x, y
I = I + 1
End If
Next x
Next y
Picture1.Refresh
Caption = I
End Sub
Function Mk(x0, y0)
'On Error Resume Next
Dim x, y
If Picture1.Point(x0, y0) = vbWhite Then Exit Function
mask(x0, y0) = I + 1
Picture1.PSet (x0, y0), vbWhite
For y = y0 - 1 To y0 + 1
For x = x0 - 1 To x0 + 1
If Picture1.Point(x, y) = vbBlack Then
Mk x, y
End If
Next x
Next y
End Function