[RESOLU]Création de Gadgets : Problème de lenteur

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

[RESOLU]Création de Gadgets : Problème de lenteur

Message par Progi1984 »

Etant en train de créer un gadget de type OutlookBar, j'ai un problème de lenteur :

File:1->OGadget.pb
Image

Le problème est que la création de la fenetre rame ! Je ne sais pas si ca vient de la création du gadget ou des addGadgetitem...
De plus, cela rame pas tout le temps ! Dès fois, la création ne va pas ramer et certaines fois plusieurs secondes !

Merci d'avance pour votre aide !
Dernière modification par Progi1984 le mar. 05/juin/2007 10:07, modifié 1 fois.
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Tu utilises une lib : ObjectManager.lib !

Peux tu nous donner le lien pour la telecharger ?
Denis

Bonne Jounée à tous
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Regarde dans ton dossier Compiler du dossier Purebasic :)
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Je l'ai ouvert 15 fois de suite et c'est immédiat. Ca ne rame pas.
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Message par flaith »

Denis a écrit :Je l'ai ouvert 15 fois de suite et c'est immédiat. Ca ne rame pas.
Pareil pour moi
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

chez moi effectivement çà rame dur parfois.

il y a quelque fois 10 ou 15 secondes d'attente.
Image
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

flaith a écrit :
Denis a écrit :Je l'ai ouvert 15 fois de suite et c'est immédiat. Ca ne rame pas.
Pareil pour moi
+1
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Pour ceux qui ont des ralentissements : à quel niveau : AddGadgetItem ou Creation du Gadget ?

Pour ceux qui n'en ont pas : testé avec et sans le débuggueur ?

Merci à tous !
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Incide : En remplacant le containergadget par un imagegadget, je gagne pas mal de secondes !
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

testé avec et sans debugger sans ralentissement, mais j'en ai déjà eu une fois.

essaye ça :

Code : Tout sélectionner

LockWindowUpdate_( WindowID(#Fenetre) )

;création des gadgets

LockWindowUpdate_(#Null)
Dri
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

J'ai mis cela dans la fonction OB_AddGadgetItem3, comme cela :

Code : Tout sélectionner

Procedure OB_AddGadgetItem3(*gadget.PB_Gadget, Position, Texte.s , ImageID, Options)
	Protected Inc_a.l
	If *gadget
		Protected *info.S_ROutlookBar = OUTLOOKBAR_ID(*gadget\gadget)
    With *info
      LockWindowUpdate_(\HwndParent) 
      CreateGadgetList(GadgetID(\HwndStaticBg))
      If Position = -1
      	Position = \NbHeader
      Else
      	For Inc_a = \NbHeader To Position+1 Step -1
      		\ButtonID[Inc_a]\ID 					= \ButtonID[Inc_a-1]\ID
      		\ButtonID[Inc_a]\Pos\top			=	\ButtonID[Inc_a-1]\Pos\top + 20
      	Next
      EndIf
      \ButtonID[Position]\ID = ButtonGadget(#PB_Any,0,\ButtonID[Position]\Pos\top,\width,20,Texte)
      \NbHeader +1
    	If Position > -1
    		For Inc_a = 0 To \NbHeader-1
	    		ResizeGadget(\ButtonID[Inc_a]\ID, 0,\ButtonID[Inc_a]\Pos\top,\width,20)
	      Next
      EndIf
      \State = Position
    	OB_SetGadgetState(*gadget, Position)
    	InvalidateRect_(*gadget\Gadget, 0, #True)
    	UseGadgetList(\HwndParent)
    	LockWindowUpdate_(#Null)
    EndWith
	EndIf
EndProcedure
Est ce comme cela qu'il fallait l'utiliser ?

---

J'ai mis à jour le code... tout en haut ! Donc si vous voulez bien le tester, svp !
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Bon, le problème est réglé ! Mieux vaux utiliser SetProp_, GetProp_ et RemoveProp_ pour la création d'un gadget que d'utiliser la lib gérant les objects !
Répondre