tincho   07-04-2021, 17:57
#1
Hola a todos.

Suponiendo la clase String2 que extiende String tenemos que para heredar la clase String basta con poner en la clase "nueva" la instrucción Inherits String.
Pero luego al crear una variable String2 con la nueva clase es necesario poner el modificador "As New" en vez de solo "As".
Alguna idea de como hacer que las variables de la clase String2 no tengan que definirse como "As New" ??
Saludos.
Última modificación: 11-04-2021, 21:29 por tincho.

1 Saludo.
guizans   08-04-2021, 22:29
#2
Hola.

No se si es lo que buscas, pero si en el inicio de la clase String2 la declaras estática con:
Código:
 
Creatic Static  

eso significa que puedes llamar a la clase directamente con la anotación punto sin tener que declarar una variable, string2.loquesea

Un saludo.
vuott   10-04-2021, 00:38
#3
(08-04-2021, 22:29)guizans escribió: sin tener que declarar una variable

En efecto, al usar la palabra-llave "New", nosotros creamos un "instancia", un "Objeto" de la Clase. Así podemos crear varios Objetos de esa Clase, que gestionamos en forma de variables.
Al hacer estática la Clase con "Static", la reducimos a una especie de Módulo que hace imposible la creación de Objetos individuales (las variables) de esa Clase.

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
tincho   11-04-2021, 21:29
#4
Gracias a ambos.
Finalmente resolví el asunto de la siguiente manera:
Lo que intento hacer es agregar algunas funciones a la clase nativa String de gambas, que según me explico Benoîte es algo diferente a las otras clases de gambas.
No deseo usar String2 como nombre sino String y eso no era compatible con el uso de Inherits String porque salta el error de que la clase no puede heredarse a si misma.
Luego el uso de Create Static tampoco funcionaba.
Solucion: Crear una clase dentro del proyecto llamada String y dentro de ella:
Código:
Export
Static Public Function UnaFuncionPersonalizada(s As String) As String
  'Algo que hace la funcion
End
Esta forma agrega la función UnaFuncionPersonalizada a la clase nativa String.
Saludos.

1 Saludo.
vuott   12-04-2021, 20:07
#5
Bravo, tincho !  Shy

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
tincho   12-04-2021, 20:51
#6
(12-04-2021, 20:07)vuott escribió: Bravo, tincho !  Shy

Gracias Vuott.

1 Saludo.
  
Usuarios navegando en este tema: 2 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.