arrays - objetos - Matriz ya dimensionada-Módulo de clase
metodos genericos java (1)
Por razones determinadas, técnicas, no podemos usar estilos en palabras. En un esfuerzo por acelerar la aplicación de propiedades globales una y otra vez, he creado una clase que puede leer desde una simple hoja de estilo xml. La hoja contiene diferentes "párrafos". Cada párrafo simplemente almacena las propiedades de párrafo que más usamos.
Estoy acostumbrado a C ++, donde puedo usar memoria dinámica y estoy tratando de replicar el comportamiento de una matriz dinámicamente asignada. Sin embargo, cuando intento volver a atenuarme aparece el mensaje de error "Array ya dimensionado".
Mi investigación en MSDN sugiere que para ReDim la matriz debe ser Global o en el "contexto de declaración general". Esto me hace pensar que simplemente no sería posible hacerlo en una clase.
Extracto de MSDN:
"Puede usar ReDim solo a nivel de procedimiento. Por lo tanto, el contexto de declaración para la variable debe ser un procedimiento: no puede ser un archivo fuente, un espacio de nombres, una interfaz, una clase, una estructura, un módulo o un bloque "
Intenté buscar desbordamiento de pila para "Word VBA Array ya dimensionado" y revisé las 3 páginas de resultados sin resultado.
private type pStyle ''Definition removed because it''s not needed
private Paragraphs(0) As pStyle ''Initially an empty array of paragraphs
después tengo la siguiente función
Public Function AddEmpty()
''Create space
count = count + 1
ReDim Preserve Paragraphs(count)
AddEmpty = count
End Function
Por favor, hágame saber si hay alguna idea. Preferiría no tener que "estimar" el número de estilos de párrafo que necesitaremos para cada hoja de estilos, ya que cada archivo es diferente.
Private Paragraphs(0) As ...
Esta no es una matriz vacía, sino que es una matriz de longitud fija con 1 elemento.
Para una matriz dinámica , una que redimensionarás más tarde, simplemente declara como:
Private Paragraphs() As ...