:) me honra mostrar

Iniciado por spiritdead, 22 Diciembre 2012, 15:57 PM

0 Miembros y 3 Visitantes están viendo este tema.

Eleкtro

Cita de: spiritdead en 22 Diciembre 2012, 18:50 PMobjectlistview
Siempre usando controles de terceros excelentes, muy bueno!

Gracias.








spiritdead

Cita de: EleKtro H@cker en 22 Diciembre 2012, 19:13 PM
Siempre usando controles de terceros excelentes, muy bueno!

Gracias.

si aprendes y te pones al dia, podria tomarte de pupilo =)
Facilitador De Tareas - Task Simplifier (FDT)

Eleкtro

#12
Cita de: spiritdead en 22 Diciembre 2012, 19:31 PM
si aprendes y te pones al dia, podria tomarte de pupilo =)

Díficil lo tengo,
1. El control está escrito en C y los ejemplos que lleva son en C, así que sólamente puedo limitarme a importar el control en la IDE e intentar aprenderlo sin ayuda alguna (A menos que me enseñes tú xD)
2. Documentación en internet o ejemplos gráficos sobre como iniciarse y usar sus métodos (NINGUNA) (Nisiquiera en C), simplemente la poca ayuda escrita en la página del proyecto en CodeProject, que está escrita de forma para gente avanzada.

Por ejemplo, lo más básico, si intento insertar una columna, para empezar a usar el control, me tira error.
Código (vbnet) [Seleccionar]
ObjectListView1.Columns.Add("Problem", 70, HorizontalAlignment.Left)
Error: Unable to cast object of type 'System.Windows.Forms.ColumnHeader' to type 'BrightIdeasSoftware.OLVColumn'.

Así que estoy siguiendo tu consejo y empezando a usar (Por primera vez) el ListView nativo, donde al menos no me tira ese error, y ya sé alternar el color de fondo, gracias de nuevo.








_katze_

Parece bueno, debe estar consumiendo sus megas por el tena de los skin. Igual sigo pensando que esta en la sección equivocada, que alguien me corrija. Saludos

spiritdead

Cita de: _katze_ en 22 Diciembre 2012, 21:41 PM
Parece bueno, debe estar consumiendo sus megas por el tena de los skin. Igual sigo pensando que esta en la sección equivocada, que alguien me corrija. Saludos

nop, no gasto mas de 40-50mb usando los render de los skins y los render OpenGL del reproductor
y el uso del cpu a maximo uso no supera el 7%

:P porque no ? si aconsejo que controles usar, y como usarles :)
Facilitador De Tareas - Task Simplifier (FDT)

Novlucker

Cita de: _katze_ en 22 Diciembre 2012, 21:41 PM
Parece bueno, debe estar consumiendo sus megas por el tena de los skin. Igual sigo pensando que esta en la sección equivocada, que alguien me corrija. Saludos

Si hubiese sido por el topic original lo hubiese movido a Software, si lo dejé en .NET fue por la pregunta de EleKtro H@cker :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

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

spiritdead

Cita de: Novlucker en 22 Diciembre 2012, 22:21 PM
Si hubiese sido por el topic original lo hubiese movido a Software, si lo dejé en .NET fue por la pregunta de EleKtro H@cker :P

Saludos
xD rayos con nov :(
Facilitador De Tareas - Task Simplifier (FDT)

Eleкtro

@spiritdead
Segúramente que esto ya sepas hacerlo y quizás en un programa de las dimensiones del FDTAREAS ya lo hayas tenido en cuenta pero... ahí va:

Para liberar el consumo de RAM en el proceso del FDTAREAS (Lo he probado y anda perfecto) puedes usar este snippet

Código (vbnet) [Seleccionar]
#Region "Flush memory"

    'Example:
    'FlushMemory("firefox")

    Declare Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal process As IntPtr, ByVal minimumWorkingSetSize As Integer, ByVal maximumWorkingSetSize As Integer) As Integer

    Public Sub FlushMemory(process_to_flush)
        Try
            GC.Collect()
            GC.WaitForPendingFinalizers()
            If (Environment.OSVersion.Platform = PlatformID.Win32NT) Then
                SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1)
                Dim myProcesses As Process() = Process.GetProcessesByName(process_to_flush)
                Dim myProcess As Process
                'Dim ProcessInfo As Process
                For Each myProcess In myProcesses
                    SetProcessWorkingSetSize(myProcess.Handle, -1, -1)
                Next myProcess
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
   
#End Region


saludos








spiritdead

#18
Cita de: EleKtro H@cker en 23 Diciembre 2012, 00:19 AM
@spiritdead
Segúramente que esto ya sepas hacerlo y quizás en un programa de las dimensiones del FDTAREAS ya lo hayas tenido en cuenta pero... ahí va:

Para liberar el consumo de RAM en el proceso del FDTAREAS (Lo he probado y anda perfecto) puedes usar este snippet

Código (vbnet) [Seleccionar]
#Region "Flush memory"

   'Example:
   'FlushMemory("firefox")

   Declare Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal process As IntPtr, ByVal minimumWorkingSetSize As Integer, ByVal maximumWorkingSetSize As Integer) As Integer

   Public Sub FlushMemory(process_to_flush)
       Try
           GC.Collect()
           GC.WaitForPendingFinalizers()
           If (Environment.OSVersion.Platform = PlatformID.Win32NT) Then
               SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1)
               Dim myProcesses As Process() = Process.GetProcessesByName(process_to_flush)
               Dim myProcess As Process
               'Dim ProcessInfo As Process
               For Each myProcess In myProcesses
                   SetProcessWorkingSetSize(myProcess.Handle, -1, -1)
               Next myProcess
           End If
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
   End Sub
   
#End Region


saludos
conozco dicha funcion y realmente no libera, lo q hace es hacer 1 volcado de memoria al disco duro ocacionando mas lentitud :)

para eso tenemos el GC :D por ahora FDTareas tiene 0 fugas de memoria ram, todo lo q consumo el GC se encarga de liberarlo correctamente

recuerda que 1 vez utilizado un objeto debes liberarle o en su caso hacer uso de

Using ....
End using

tenia esta
Código (vbnet) [Seleccionar]
'Declaración de la API
    Private Declare Auto Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal procHandle As IntPtr, ByVal min As Int32, ByVal max As Int32) As Boolean
    'Funcion de liberacion de memoria
    Public Sub ClearMemory()
        Try
            Dim Mem As Process
            Mem = Process.GetCurrentProcess()
            SetProcessWorkingSetSize(Mem.Handle, -1, -1)
        Catch ex As Exception
            'Control de errores
        End Try
        'GC.Collect()
        'GC.WaitForPendingFinalizers()
    End Sub
Facilitador De Tareas - Task Simplifier (FDT)

Crazy.sx

Voy a probar tu programa para ver de que se trata... Saludos.
Destruir K. LOL