Página 1 de 1

Consulta sobre lentitud en TreeView

Publicado: Vie Feb 11, 2011 3:07 pm
por jasm.quitaesto
Hola
Tengo un treeview que va creciendo según se introducen registros de esta
forma:
oRama1 := ::oTreeVier:GetSelectedItem()
oRama1:Expand()
oRama2 := oRama1:AddItem( "Nueva rama" ) )
oRama2:Cargo := { Valor1,Valor2 }
::oTreeView:SetFocus()
::oTreeView:SelectItem( oRama2 )
al llegar a
::oTreeView:SelectItem( oRama2 )
tarda una eternidad en posicionarse (lo he probado con treeview de
distintos tamaños y según crece se va poniendo más y más lento).
Lo he comprobado con el depurador y es cuando llega a esa linea cuando
se para hasta más de un minuto en algunos casos.
¿Alguna solución?
Gracias y un abrazo
José Alfonso Suárez Moreno

Consulta sobre lentitud en TreeView

Publicado: Dom Feb 13, 2011 12:54 pm
por jasm.quitaesto
¿ninguna pista sobre este tema?
Gracias
El 11/02/2011 15:07, José Alfonso Suárez Moreno escribió:
> Hola
>
> Tengo un treeview que va creciendo según se introducen registros de esta
> forma:
>
> oRama1 := ::oTreeVier:GetSelectedItem()
> oRama1:Expand()
>
> oRama2 := oRama1:AddItem( "Nueva rama" ) )
> oRama2:Cargo := { Valor1,Valor2 }
> ::oTreeView:SetFocus()
> ::oTreeView:SelectItem( oRama2 )
>
> al llegar a
>
> ::oTreeView:SelectItem( oRama2 )
>
> tarda una eternidad en posicionarse (lo he probado con treeview de
> distintos tamaños y según crece se va poniendo más y más lento).
>
> Lo he comprobado con el depurador y es cuando llega a esa linea cuando
> se para hasta más de un minuto en algunos casos.
>
> ¿Alguna solución?
>
> Gracias y un abrazo
>
> José Alfonso Suárez Moreno

Consulta sobre lentitud en TreeView

Publicado: Dom Feb 13, 2011 6:29 pm
por jasm.quitaesto
SOLUCIONADO, gracias.
El 11/02/2011 15:07, José Alfonso Suárez Moreno escribió:
> Hola
>
> Tengo un treeview que va creciendo según se introducen registros de esta
> forma:
>
> oRama1 := ::oTreeVier:GetSelectedItem()
> oRama1:Expand()
>
> oRama2 := oRama1:AddItem( "Nueva rama" ) )
> oRama2:Cargo := { Valor1,Valor2 }
> ::oTreeView:SetFocus()
> ::oTreeView:SelectItem( oRama2 )
>
> al llegar a
>
> ::oTreeView:SelectItem( oRama2 )
>
> tarda una eternidad en posicionarse (lo he probado con treeview de
> distintos tamaños y según crece se va poniendo más y más lento).
>
> Lo he comprobado con el depurador y es cuando llega a esa linea cuando
> se para hasta más de un minuto en algunos casos.
>
> ¿Alguna solución?
>
> Gracias y un abrazo
>
> José Alfonso Suárez Moreno

Consulta sobre lentitud en TreeView

Publicado: Lun Feb 14, 2011 1:30 pm
por jlalin
José Alfonso,
nunca he tenido problemas con los Treeview pero si necesitas cargarlo con
muchos items, quizás puedas optimizarlo cargando sólo los item que cuelgan
de la raí­z y cargar las ramas sólo cuando sea necesario utilizando el
evento OnItemExpanding.
Puedes ver un ejemplo de uso de esta técnica en samplesShellIcon
Saludos,
José Lalí­n

Consulta sobre lentitud en TreeView

Publicado: Lun Feb 14, 2011 4:15 pm
por Xevi
José,
el sample en cuestión, al ejecutarlo lanza el siguiente error...
***************************** Registro de errores
*****************************
Exe: C:XailerSamplesShellIconShellIcon.exe
Version: 1.0.0.0
User name: Xevi
Computer name: IMAC
Fecha: 02/14/11
Hora: 16:14:11
Memoria libre: 2566968
Area actual: 1
------------------------- Información del
compilador --------------------------
Versión Xailer: Xailer 2.1.4 Version 2.1.4
Compilador: xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 6511) PCode
Version: 10
Compilador C/C++: Borland C++ 5.5.1 (32 bit)
Plataforma: Windows Windows Vista Professional 6.01.7600
----------------------- Información detallada del
error -----------------------
Subsistema: BASE
Código de error: 1004
Estado: .F.
Descripción: Message not found
Operación: TSYSIMAGELIST:DRAW
Argumentos:
Fichero:
Código error SO: 0
Pila de llamadas:
TFORM1:DRAWICON (96)
TFORM1:EDIT1CHANGE (48)
TEDIT:ONCHANGE (0)
(b)XEDIT:XEDIT (91)
TEDIT:CHANGE (0)
TEDIT:COMMAND (160)
TSCROLLINGWINCONTROL:WMCOMMAND (276)
TFORM1:WMCOMMAND (934)
SENDMESSAGE (0)
(b)XCONTROL:XCONTROL (93)
TUPDOWN:SENDMSG (0)
TUPDOWN:SETPOS (257)
TUPDOWN:CREATE (126)
TFORM1:CREATEFORM (28)
TFORM1:NEW (189)
MAIN (16)
Un Saludo,
Xevi.
"José Lalí­n" <dezac@corevia.com> ha escrit al
missatge:[email=4d5920a9@svctag-j7w3v3j....]4d5920a9@svctag-j7w3v3j....[/email]
>
> José Alfonso,
>
> nunca he tenido problemas con los Treeview pero si necesitas cargarlo con
> muchos items, quizás puedas optimizarlo cargando sólo los item que cuelgan
> de la raí­z y cargar las ramas sólo cuando sea necesario utilizando el
> evento OnItemExpanding.
>
> Puedes ver un ejemplo de uso de esta técnica en samplesShellIcon
>
> Saludos,
> José Lalí­n
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de
> firmas de virus 5873 (20110214) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5873 (20110214) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com

Consulta sobre lentitud en TreeView

Publicado: Lun Feb 14, 2011 4:56 pm
por jlalin

Xevi,
el ejemplo ShellIcon se reescribió completamente para la 2.2 y es diferente
del que tienes en versiones anteriores (que además tení­a el bug que comentas).
Adjunto un zip con el ejemplo incluí­do en la 2.2 aunque no estoy seguro de
si funcionará en versiones anteriores.
Saludos,
José Lalí­n
--

Consulta sobre lentitud en TreeView

Publicado: Lun Feb 14, 2011 6:28 pm
por jasm.quitaesto
Jose,
Muchas gracias por responder.
Saludos
José Alfonso Suárez Moreno
El 14/02/2011 13:30, José Lalí­n escribió:
>
> José Alfonso,
>
> nunca he tenido problemas con los Treeview pero si necesitas cargarlo
> con muchos items, quizás puedas optimizarlo cargando sólo los item que
> cuelgan de la raí­z y cargar las ramas sólo cuando sea necesario
> utilizando el evento OnItemExpanding.
>
> Puedes ver un ejemplo de uso de esta técnica en samplesShellIcon
>
> Saludos,
> José Lalí­n
>

Consulta sobre lentitud en TreeView

Publicado: Lun Feb 14, 2011 6:49 pm
por Xevi
José,
Sólo hay que cambiar el fichero .xpj por el que hay en el sample de la
versión 2.1 y Funciona Perfectamente.
Gracias.
Un Saludo,
Xevi.
"José Lalí­n" <dezac@corevia.com> ha escrit al
missatge:4d5950ea$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>
> Xevi,
>
> el ejemplo ShellIcon se reescribió completamente para la 2.2 y es
> diferente
> del que tienes en versiones anteriores (que además tení­a el bug que
> comentas).
>
> Adjunto un zip con el ejemplo incluí­do en la 2.2 aunque no estoy seguro de
> si funcionará en versiones anteriores.
>
> Saludos,
> José Lalí­n
>
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de
> firmas de virus 5873 (20110214) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5873 (20110214) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com

Consulta sobre lentitud en TreeView

Publicado: Lun Feb 14, 2011 8:49 pm
por jlalin
Xevi,
> Sólo hay que cambiar el fichero .xpj por el que hay en el sample de la
> versión 2.1 y Funciona Perfectamente.
Muchas gracias por probarlo. Quizás sea buena idea si publicas el ZIP con
el .xpj para que otros también puedan probarlo con versiones anteriores.
Saludos,
José Lalí­n

Consulta sobre lentitud en TreeView

Publicado: Lun Feb 14, 2011 9:18 pm
por Xevi
José,
adjunto está el proyecto que funciona para Xailer 2.1
Un Saludo,
Xevi.
"José Lalí­n" <dezac@corevia.com> ha escrit al
missatge:[email=4d598783@svctag-j7w3v3j....]4d598783@svctag-j7w3v3j....[/email]
> Xevi,
>
>> Sólo hay que cambiar el fichero .xpj por el que hay en el sample de la
>> versión 2.1 y Funciona Perfectamente.
>
> Muchas gracias por probarlo. Quizás sea buena idea si publicas el ZIP con
> el .xpj para que otros también puedan probarlo con versiones anteriores.
>
> Saludos,
> José Lalí­n
>
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de
> firmas de virus 5874 (20110214) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5874 (20110214) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com
--

Attached files ShellIcon.zip (2.7 KB)Â

Consulta sobre lentitud en TreeView

Publicado: Mar Feb 15, 2011 12:13 am
por jlalin
Xevi,
> adjunto está el proyecto que funciona para Xailer 2.1
Muchas gracias :-)
Saludos,
José Lalí­n