elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  POO que no quiere funcionar bien
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: POO que no quiere funcionar bien  (Leído 1,819 veces)
abreu20011

Desconectado Desconectado

Mensajes: 33


Ver Perfil
POO que no quiere funcionar bien
« en: 8 Agosto 2011, 06:17 am »

Saludos :)

Estoy haciendo un programa (bueno, más bien, mejorando el codigo de un programa mio) teniendo más en cuenta la POO pero, aunque funciona, no lo hace correctamente. A ver si alguien sabría decirme porqué >.<

Tengo una clase con varias variables privadas, que se generan por un metodo que no devuelve valor (sub) que le asigna a cada variable un valor. Esto esta hecho así, porque no entiendo porqué no me deja asignar los valores directamente en la clase, por ejemplo:

Código
  1. Dim variableArray() As String
  2. variableArray(0) ="Ejemplo 1"
  3. variableArray(1) ="Ejemplo 2"

Me dice "declaration Expected" si lo hago asi, por lo que lo meti en el Sub y no dió más problemas... aunque no entiendo porqué, en cambio, si lo hago asi:

Código
  1. Dim variableArray() As String = {"Ejemplo 1","Ejemplo 2"}

Sí funciona :( (pero es que queda muy poco claro, y son muchisimas variable y muchisimos datos para hacerlo "todo en una linea" la idea era que fuera más claro =(

Pero como funcionaba, más o menos me di por satisfecho, hasta que llego la parte en la que el programa llama a este metodo.

En un principio cree la clase en el Main, por ejemplo:

Código
  1. Dim clase As Clase_class = New Clase_class
  2. clase.GenerateTask '<- Asi es como he llamado al metodo para que asigne los valores

Pero, aunque no da error, no hace nada... es como si no llamara a ese metodo.
Este es el codigo del botón:


Código
  1. Dim ListaTareas As ListaTareas_class = New ListaTareas_class
  2. Sub General_programas_btnClick(ByVal sender As Object, ByVal e As EventArgs)
  3.   ListaTareas.GenerateTask
  4.  
  5.   Me.general_tarea_info_lbl.Text= ListaTareas.ShowTaskName(0, 0)
  6.   Me.general_info_info_lbl.Text = ListaTareas.ShowTaskInfo(0, 0)
  7. End Sub


Como esta expuesto así sí funciona, pero claro, tengo muchos más botones, y no creo que sea una solución correcta (aunque funcionar, funciona) añadirle el GenerateTask en cada botón.
¡Es como decirle al programa que haga una y otra vez lo mismo no siendo necesario!

Estoy seguro que es un problema de lógica, que algo debo estar olvidando, pero por más que miro y miro el código, no sé me ocurre otra manera de hacerlo funcionar :(

Muchas gracias,
y un saludo ^^


« Última modificación: 8 Agosto 2011, 16:21 pm por raul338 » En línea

abreu20011

Desconectado Desconectado

Mensajes: 33


Ver Perfil
Re: POO que no quiere funcionar bien
« Respuesta #1 en: 8 Agosto 2011, 06:42 am »

He encontrado el problema xD Mira que un despiste y nada funciona >.< (pero es que llevaba ya tanto tiempo mirándolo que me había cegado :S)

El problema era donde estaba puesto la declaración de la creación del objeto y el metodo. Ahora la clase se crea nada más empezar la clase del modulo (del Main)

Código:
Public Partial Class MainForm
Dim ListaTareas As ListaTareas_class = New ListaTareas_class

Y el GenerateTask en primera linea del MainLoad

Menos mal ^^

Si alguien puede explicarme ya sólo lo de la declaración de variables me ayudaría mucho, porque me ahorraría el maldito GenerateTask >.<

Un saludo


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: POO que no quiere funcionar bien
« Respuesta #2 en: 8 Agosto 2011, 06:58 am »

buenas ;D
pues yo diria que no te recomendaria que declares variables de clases asi:

Código:
Dim ListaTareas As ListaTareas_class = New ListaTareas_class
ya que son como temporales :P
y en el evento initialize de la clase ahi si se escribe para crear el objeto :P
En línea

abreu20011

Desconectado Desconectado

Mensajes: 33


Ver Perfil
Re: POO que no quiere funcionar bien
« Respuesta #3 en: 8 Agosto 2011, 09:33 am »

buenas ;D
pues yo diria que no te recomendaria que declares variables de clases asi:

Código:
Dim ListaTareas As ListaTareas_class = New ListaTareas_class
ya que son como temporales :P
y en el evento initialize de la clase ahi si se escribe para crear el objeto :P


Mmmm, ¿Te refieres a que use constantes? :)
Y perdóname ^^ ¿pero donde esta el evento initialize? xD
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: POO que no quiere funcionar bien
« Respuesta #4 en: 8 Agosto 2011, 10:04 am »

:P que la declares a nivel de formulario como normal se declaran las varibles y la inicialises en el evento , el evento esta en todos los modulos clases en la ventana en el combobox de la parte superior derecha estan los eventos y tambien usa el evento terminate para eliminar el objeto
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
mysql_init() no quiere funcionar :'(
PHP
Nabucodonosor 4 3,516 Último mensaje 3 Septiembre 2006, 00:00 am
por Thaorius
[BATCH] Necesito ayuda {Me dejaron de funcionar bien algunos comandos} « 1 2 »
Scripting
najmuddin 11 4,036 Último mensaje 7 Julio 2008, 22:00 pm
por pyxolo
España quiere conservar los videojuegos como un Bien de Interés Cultural
Noticias
wolfbcn 0 324 Último mensaje 17 Julio 2019, 02:05 am
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines