Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Referencia a objeto de clase de manera dinámica

Hola, en el desarrollo de nuestra aplicación estoy utilizando orientación a objetos. Me gustaría saber si se puede obtener de manera dinámica (en tiempo de ejecución) una referencia a un objeto y guardarla en un array de referencias de otra clase.

 

Como ejemplo:
- Clase A: en el cluster privado del control tiene un array de referencias de la clase B.
- Clase B: en el cluster privado del control tiene un control numérico.
- Main.vi: se crean objetos de la clase B y se guarda su referencia en el array de la Clase A. El cómo obtener una referencia única para ese objeto no sé si puede hacer.

 

No encuentro la forma de obtener una referencia al objeto de la clase de un elemento de un array de manera dinámica, de modo que pueda tener todos los que quiera y no esté limitado a los controles del panel frontal.

 

De este modo podría trabajar con referencias (intuyo que algo parecido a tener un array de punteros en C++) y cuando quiera modificar un objeto del array no tendría que leer el objeto, cambiar el valor del control y escribir el objeto de la clase B en el array de la clase A, sino que directamente cambiaría el valor.

0 kudos
Mensaje 1 de 2
2.244 Vistas

fgarciaa,

 

No estoy seguro de que utilizar referencias a tus objetos sea lo más eficiente para trabajar con ellos (normalmente depende de la complejidad de la arquitectura que estés utilizando).

 

Si tu objetivo es que la Clase A pueda almacenar objetos de la Clase B para trabajar con ellos, lo más sencillo es que tengas uncluster o arreglo que contenga a todos estos objetos.

 

2018-12-07 18_56_45-Untitled Project 1 _ - Project Explorer.png

 

 

Si el objetivo es poder acceder a esos objetos a manera de referencia, puedes usarlos como Data Value References. Sin embargo, éste método es menos eficiente (ya que todas las llamadas a dicho objeto se tienen que hacer hacia la misma locación de memoria). Luego, lo que guardarías en la clase A es el Data Value Reference a el/los objeto/s de la clase B. Más información acá: Reduce Memory with Data References.

 

2018-12-07 19_07_41-Reduce Memory with Data References - National Instruments.png

 

 

Saludos,

0 kudos
Mensaje 2 de 2
2.212 Vistas