Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - El Benjo

#21
Hola.

Respecto a tu primera pregunta: No, el evento OnPaint no impide que se ejecuten los demás eventos OnPaint. Lo que ocurre es que se "sobreescribe" lo que ya habías dibujado.

Lo de MyBase.OnPaint(e) no es necesario, lo que es más, no es de utilidad. Recuerda que MyBase hace referencia a la clase padre del control y por lo general, esta propiedad la llamas dentro del código de una clase que hereda el método que quieres sobreescibir.

Lo de los parpadeos y el doble buffer, como comentas sería otra cosa si usaras DirectX u OpenGL, pero puedes mejorar muchísmo si implementas el doble buffer en tu código mediante la clase BufferedGraphics.

https://msdn.microsoft.com/en-us/library/b367a457(v=vs.110).aspx

En esa página hay una sección llamada "Manually Displaying Buffered Graphics" donde te explican cómo hacerlo.
#22
Programación General / Re: Problema con Haskell
10 Octubre 2016, 05:58 AM
Tienes que hacerlo mediante algo llamado guardas.

Te dejo un enlace a un curso de haskell en línea donde se explica esto.

http://aprendehaskell.es/content/Funciones.html
#23
Programación General / Re: Procesos en paralelo
30 Agosto 2016, 20:03 PM
Aunque los hilos sí comparten el mismo espacio en la memoria y pueden tener acceso a la misma dirección, no se accede directamente a la misma sino que es el sistema operativo el que se encarga de gestionar los accesos,. Además la propia arquitectura de los dispositivos  electrónicos (microprocesador, RAM, etc) gestionan este tipo de conflictos. Por todo esto en realidad nunca ocurre que dos hilos escriban en la misma dirección de memoria durante el mismo ciclo de reloj.
#24
Por favor utiliza los términos adecuados para describir el comportamiento de tu código porque 'compartir' significa que será la misma variable para todos los hilos. Decide cual será exactamente el comportamiento de tu aplicación porque sólo puedes tener uno de los dos comportamientos static o private. Otra cosa, no estás mostrando en qué parte se te niega la asignación a la variable.
#25
Creo que ya te entendí, déjame resumirlo así:


  • Debe haber una variable 'x' que necesita ser estática para poder ser usada por todo el proyecto.
  • Cuando se cree un hilo en una instancia de la clase, se debe pasar el valor de la variable 'x' para que sea independiente en cada instancia.
  • Cuando en una de las instancias se modifique el valor que se le pasó como parámetro entonces ese valor debe verse reflejado en la variable estática 'x'.

Si es así, el propio problema te da la solución: Crea una variable privada en la clase cuyo valor sea el de la variable 'x' cuando lanzas el hilo y en el código del hilo trabaja con ella en vez de la variable 'x'.

Te podemos ayudar mejor si compartes el código.
#26
Si lo que quieres es que la variable se siga compartiendo con las clases hijo pero que se cree una instancia por cada objeto creado entonces utiliza protected en lugar de static.
#27
Bueno, dos cosas:

1.- Aunque el tema parece ser el mismo, se considera una mala práctica abrir un post viejo. La próxima vez abre un nuevo tema.

2.- Sí, podemos decirte donde está mal, pero para eso tú debes decirnos primero qué es lo que hace mal el código.
#28
Buen día, amigos de elhacker.net.

Les comparto una demostración que programé, acerca de este problema. Espero les sea de utilidad.

[youtube=640,360]https://youtu.be/wWQcAryaHm0[/youtube]
#29
El problema que te subraya el IDE es que las variables 'dValor1' y 'dValor2' no están declaradas dentro del bloque, sólo están declaradas dentro del 'case 1:'. Lo que tienes que hacer es pedir los valores fuera del case.

Lo segundo, para salir del sistema usa una condición en tu bucle Do que siempre sea cierta y que cambie a falsa cuando el usuario elija la opción número 5:

Código (csharp) [Seleccionar]

bool NoSalir = true;
do{
  switch(opcion){
    case "5":
      NoSalir = false;
    break;
  }
} while (NoSalir = true)
#30
¿Recuerdan cuando todo mundo decía que no se debía usar .NET de Microsoft porque era software privativo, que la empresa podía imponer una licencia de uso de buenas a primeras y que en su lugar debíamos usar JAVA?... Bueno.  :rolleyes: