Uh... this is a little bit difficult to explain, but I'll try:

Code:
Sub InitTextures()
 layers=2
 ReDim numtextures(1 To layers)
 numtextures(1) = 2
 numtextures(2) = 1

 ReDim Textures(1 To layers, 1 To numtextures(x))  '<- the problem is here

 Slider1.Min = 1
 Slider1.Max = numtextures(1)
 Set Textures(1, 1) = CreateTextureSurface(App.Path & "\test.bmp")
 Set Textures(1, 2) = CreateTextureSurface(App.Path & "\test2.bmp")
 Set Textures(2, 1) = CreateTextureSurface(App.Path & "\tst1.bmp")
End Sub
Now, the problem is quite strange. In textures array, the value of second dimension should be relative to the first, so that when the 1st. dimension's value is 1, the maximum value of the 2nd. should be 2. And when the value of the first is 2, the max of second is 1.
Is it even possible to do this, and if not, could someone tell how to make something that works in the same way?