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


 


Tema destacado: Servidor TeamSpeak 3: crea tu propio canal gratis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderadores: Novlucker, seba123neo, kub0x, Eleкtro)
| | | |-+  (SOLUCIONADO) Duda sobre los elementos que trabajan en segundo plano
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: (SOLUCIONADO) Duda sobre los elementos que trabajan en segundo plano  (Leído 2,601 veces)
Eleкtro
VB.Net Dev
Moderador
***
Desconectado Desconectado

Mensajes: 6.574



Ver Perfil
Re: Duda sobre los elementos que trabajan en segundo plano
« Respuesta #10 en: 18 Diciembre 2012, 18:14 »


Código
  1. 'Declaration
  2. Public Delegate Sub Action(Of In T1, In T2, In T3, In T4, In T5, In T6, In T7, In T8, In T9, In T10, In T11, In T12, In T13, In T14, In T15, In T16) ( _
  3. arg1 As T1, _
  4. arg2 As T2, _
  5. arg3 As T3, _
  6. arg4 As T4, _
  7. arg5 As T5, _
  8. arg6 As T6, _
  9. arg7 As T7, _
  10. arg8 As T8, _
  11. arg9 As T9, _
  12. arg10 As T10, _
  13. arg11 As T11, _
  14. arg12 As T12, _
  15. arg13 As T13, _
  16. arg14 As T14, _
  17. arg15 As T15, _
  18. arg16 As T16 _
  19. )

Eso ya pinta dificil.

PREGUNTA: ¿Action tiene un límite de 16 argumentos?
(Quizás no llegue a saber hacer eso en toda mi vida xD, pero estaría bien saberlo si se da el caso.)

De todas formas con toda esta info doy por solucionado el tema xD,
Gracias por vuestras respuestas.




Bonito snippet:

Simple Delegate Example

Código
  1.    Imports System
  2.    Namespace DelegateTest
  3.    Public Delegate Sub TestDelegate(ByVal message As String)
  4.  
  5.    Class Program
  6.    Public Shared Sub Display(ByVal message As String)
  7.    Console.WriteLine("")
  8.    Console.WriteLine("The string entered is : " + message)
  9.    End Sub
  10.  
  11.    Shared Sub Main(ByVal args As String())
  12.    '-- Instantiate the delegate
  13.    Dim t As New TestDelegate(AddressOf Display)
  14.  
  15.    '-- Input some text
  16.    Console.WriteLine("Please enter a string:")
  17.    Dim message As String = Console.ReadLine()
  18.  
  19.    '-- Invoke the delegate
  20.    t(message)
  21.    Console.ReadLine()
  22.    End Sub
  23.    End Class
  24.    End Namespace



En línea

Como insertar un código:

 

-> Reglas del foro <-
Novlucker
Ninja y
Moderador Global
***
Desconectado Desconectado

Mensajes: 10.684


Yo que tu lo pienso dos veces


Ver Perfil
Re: Duda sobre los elementos que trabajan en segundo plano
« Respuesta #11 en: 18 Diciembre 2012, 18:36 »

PREGUNTA: ¿Action tiene un límite de 16 argumentos?
(Quizás no llegue a saber hacer eso en toda mi vida xD, pero estaría bien saberlo si se da el caso.)

Exacto, de hecho, la cantidad de parámetros depende de la versión del framework :P. Si necesitas más que eso deberías de declarar tu propio delegado.

Saludso


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
http://twitter.com/novlucker

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

spiritdead

Desconectado Desconectado

Mensajes: 295


Ver Perfil
Re: Duda sobre los elementos que trabajan en segundo plano
« Respuesta #12 en: 19 Diciembre 2012, 01:08 »

¿Y que me dicen de esto?
Código
  1.    ' Usage:
  2.    ' InvokeControl(RichTextBox1, Sub(x) x.AppendText("a"))
  3.  
  4. #Region " Invoke Controls "
  5.    Public Sub InvokeControl(Of T As Control)(ByVal Control As T, ByVal Action As Action(Of T))
  6.        If Control.InvokeRequired Then
  7.            Control.Invoke(New Action(Of T, Action(Of T))(AddressOf InvokeControl), New Object() {Control, Action})
  8.        Else
  9.            Action(Control)
  10.        End If
  11.    End Sub
  12. #End Region

Lo he testeado a fondo creando varios threads que modifican propiedades de varios controles al mismo tiempo, e incluso modifican el mismo control del form principal todos los threads al mismo tiempo, y no me ha saltado ninguna excepción, es decir, lo he podido usar sin escribir delegados...

¿Esa técnica la consideran buena o la idea de usar delegados sigue siendo mejor?

te lo resumo de 1 manera mas bonita

Código
  1.  
  2. Delegate Sub SetValue(ByVal value As Single, ByVal status As String)
  3.  
  4.  Public Sub SetValueObjects1(ByVal value As Single, ByVal status As String)
  5.        If KryptonProgressBar2.InvokeRequired Then
  6.            Dim d As New SetValue(AddressOf SetValueObjects1)
  7.            Me.Invoke(d, New Object() {value, status})
  8.        Else
  9.            KryptonLabel42.Text = ("(" & Math.Round(value, 1) & ")%")
  10.            KryptonProgressBar2.Value = value
  11.        End If
  12.    End Sub

esa es 1 manera bonita de usar delegados y bastante optimizada en cuanto a uso de sintaxis por decirlo asi

el codigo q puse es uno de los delegados mios q tome para darte 1 ejemplo
« Última modificación: 19 Diciembre 2012, 04:11 por spiritdead » En línea

Facilitador De Tareas - Task Simplifier (FDT)
Eleкtro
VB.Net Dev
Moderador
***
Desconectado Desconectado

Mensajes: 6.574



Ver Perfil
Re: Duda sobre los elementos que trabajan en segundo plano
« Respuesta #13 en: 19 Diciembre 2012, 06:32 »

el codigo q puse es uno de los delegados mios q tome para darte 1 ejemplo

Gracias
En línea

Como insertar un código:

 

-> Reglas del foro <-
spiritdead

Desconectado Desconectado

Mensajes: 295


Ver Perfil
Re: Duda sobre los elementos que trabajan en segundo plano
« Respuesta #14 en: 19 Diciembre 2012, 07:36 »

Gracias

cuando hagas un Invokerequired enfocate en el objeto directo, no lo envies parametrizado trabajando esa parte dinamicamente

porque a veces al trabajar con forms dinamicos, te salen errores bastante peculiares :P

mi recomendacion es 1 delegado por cada control q necesites usar desde otro hilo =) asegurandote q asi tengas multiples instancias de forms con controles repetidos, no genere NI un error :)
En línea

Facilitador De Tareas - Task Simplifier (FDT)
Eleкtro
VB.Net Dev
Moderador
***
Desconectado Desconectado

Mensajes: 6.574



Ver Perfil
Re: (SOLUCIONADO) Duda sobre los elementos que trabajan en segundo plano
« Respuesta #15 en: 19 Diciembre 2012, 15:24 »

una pregunta que me acaba de surgir...
¿hay un máximo de instancias de thread y/o backgroundworker?,
imagino que un proceso no puede crear 100 subprocesos...(O si?) ¿Donde está el límite?,
¿y las instancias de los subprocesos se eliminan con un "dispose" para liberar sus recursos, ¿o se auto eliminan de la memoria cuando el backgroundworkercompleted sucede?
En línea

Como insertar un código:

 

-> Reglas del foro <-
Novlucker
Ninja y
Moderador Global
***
Desconectado Desconectado

Mensajes: 10.684


Yo que tu lo pienso dos veces


Ver Perfil
Re: (SOLUCIONADO) Duda sobre los elementos que trabajan en segundo plano
« Respuesta #16 en: 19 Diciembre 2012, 16:01 »

Recursos ...

http://eknowledger.wordpress.com/2012/05/01/max-number-of-threads-per-windows-process/

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
http://twitter.com/novlucker

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Eleкtro
VB.Net Dev
Moderador
***
Desconectado Desconectado

Mensajes: 6.574



Ver Perfil
Re: (SOLUCIONADO) Duda sobre los elementos que trabajan en segundo plano
« Respuesta #17 en: 19 Diciembre 2012, 16:18 »

Buenísima info la que comenta esa persona en su problema,

Así que el límite depende de la cantidad de RAM en el PC donde se use la APP,
cada hilo tiene un tamaño inicial de 1 mb en memória "stacksize",
Y el buffer máximo de memória se puede modificar/reducir para cada hilo "maxstacksize" por ejemplo a 256 KB

Perfecto, Gracias ^^
En línea

Como insertar un código:

 

-> Reglas del foro <-
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
segundo plano
Programación C/C++
Chero 8 2,725 Último mensaje 18 Mayo 2005, 17:27
por Pseudoroot
[Duda]Enviar y Recibir archivos en segundo plano[Threads-Solucionado(Builder)]
Programación C/C++
sulrun 7 1,709 Último mensaje 30 Abril 2007, 23:26
por Ragnarok
Duda Batch: ejecutar en segundo plano esto
Scripting
KainRedDemon 1 1,100 Último mensaje 30 Mayo 2008, 20:07
por MK-Ultra
jQuery sobre elementos generados
Desarrollo Web
Draco Heroicus 1 511 Último mensaje 28 Diciembre 2012, 16:21
por #!drvy
[Solucionado] Ordenar elementos de JCombobox
Java
GenR_18 4 223 Último mensaje 17 Febrero 2015, 05:12
por GenR_18
Powered by SMF 1.1.20 | SMF © 2006-2008, Simple Machines