Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Je souhaiterais savoir si quelqu'un a déjà implémenté des bulles d'aide (tooltip) dans les dw et ailleurs sous PB10.5.
J'ai entendu parler sur ce forum de l'objet n_tooltip de pic ouic. Serait-il possible d'en disposer ?
Est il stable ? (car j'ai eu qlq problème de GPF inexpliqué avec http://www.onkenhout.speedlinq.nl/pbtip015.html qui semblait pourtant très prometteur)
Merci d'avance
Guillaume
Hors ligne
hello,
voici une reponse...
http://pbadonf.fr/forum/viewtopic.php?pid=4018#p4018
A+++
Hors ligne
Merci pour ces infos réactives.
En fait l'objet n_tooltip proposé est celui issu du lien que j'avais déjà essayé.
Cependant je suis un peu perplexe car avec cet objet j'ai manifestement des problème de "memory can not be written" et autre bizarerie de ce genre.
J'essaye donc de faire une nouvelle tentative d'implémentation dans mon appli.
Est-ce que vous avez utilisé cet objet depuis longtemps ? n'avez vous vous jamais rencontré de "memory can not be written" en PB 9 ou supérieur ?
Merci et a bientôt
Hors ligne
"memory can not be written"
tu sais dans quel contexte ca apparait ?
Hors ligne
J'ai assurément des problème de stabilité en utilisant n_tooltip.
Lors de la première ouverture tout fonctionne à merveille ... mais après quelques ouverture ou fermeture (mdi sheet) c'est l'explosion ...
Hors je ne vois pas d'où provient le blème. Tout me semble correct add_tool / open et remove_tool / resize et ....
En désespoir de cause j'ai modifié le fichier exemple fourni avec tooltip pour le transformer dans un contexte MDI
Création de:
un mdi frame vierge
un menu qui se limite a un item qui ouvre la fenêtre originale w_example
En exécutant cet exemple à la troisième ouverture de w_example: Plantage total... La mémoire ne peut pas être "written" ... (J'utilise PB 10.5 Build 6627, XP Pro SP2)
Je serait donc vraiment curieux de savoir si quelqu'un utilse cet objet sans 'souffrir' de ce problème de stabilité.
Merci d'avance.
Guillaume
Hors ligne
c'est fou ca...
mreminiac l'utilise pourtant... faudra lui demander confirmation.
Hors ligne
Quelle réactivité pic ouic je suis impressioné ... comment ais je pu développer pendant des années avec PB sans .pbadonf. !
Hors ligne
Bonjour à Tous.
Plus qu'une explication, voici le code que j'utilise.
Pour l'heure celui ci marche bien
Cordialement
//-- Event OPEN // Set Tooltip properties inv_Tooltip.of_SetTipBKColor( RGB(255,250,210) ) inv_Tooltip.of_SetTipTitle ( inv_Tooltip.TTI_INFO , "Information" ) // Onglet Produit ii_DwTabular = inv_ToolTip.of_AddTool( tab_1.tabpage_2.dw_cmd22, "" , inv_ToolTip.TTF_SUBCLASS ) //+ inv_ToolTip.TTF_ABSOLUTE + inv_ToolTip.TTF_TRACK //-- Event dwmousemove String ls_type Integer li_Id String ls_Text IF ii_DwTabular = 0 THEN RETURN 0 SetNull(ls_text) IF row = 0 THEN il_Row = -1 is_ColNameTabular = "" inv_Tooltip.of_SetTipText( This, ii_DwTabular,ls_text) RETURN 0 END IF ls_Type = dwo.TYPE IF dwo.TYPE = "column" THEN IF String( dwo.Name ) <> is_ColNameTabular Or il_Row <> row THEN IF String( dwo.Name ) = "c1" THEN is_ColNameTabular= String ( dwo.Name ) li_Id = Integer( This.Describe( is_ColNameTabular + ".id" ) ) ls_Text = String ( This.Object.Data[row, li_Id] ) + " --> Double Clique -- Ouverture de la Fiche Produit" inv_Tooltip.of_SetTipText ( This, ii_DwTabular, ls_Text ) il_Row = Row END IF END IF ELSE inv_Tooltip.of_SetTipText( This, ii_DwTabular,ls_text) il_Row = -1 is_ColNameTabular = "" END IF RETURN 0
Hors ligne
brieygu a écrit:
Quelle réactivité pic ouic je suis impressioné ... comment ais je pu développer pendant des années avec PB sans .pbadonf. !
il y a 1 an, ce forum n'existait pas encore...
Merci pour ta reactivité mreminiac
Hors ligne
Oui, merci à mreminiac
PS: je me suis permis de mettre le fameux code=pb
afin d'augmenter la lisibilité de ton code
Hors ligne
Incroyable , cela semble fonctionner sans plus de memory error ! Quel bonheur !
Au fait est il normal qu'il ne faut-il pas faire de of_removetool on close ?
ou encore of_removetool suivi de of_addtool on Resize
Merci bcp pour votre mobilisation aussi rapide qui semble bien me sortir de l'ornière !
Espérant vous rendre la pareille prochainement
Cordialement
Guillaume
Hors ligne
pas de probleme,
il ne te reste plus qu'à venir te presenter sur le topic en question...
http://pbadonf.fr/forum/viewforum.php?id=15
Hors ligne
Bonjour à tous,
Je n'ai pas encore tester l'outil de pick ouic, mais sur cette page, tu pourras avoir un
complément d'information. Néanmoins, comme tu pourras le voir, la deuxième
tooltip est très sympa.
Hors ligne
Doctor Z a écrit:
Bonjour à tous,
Je n'ai pas encore tester l'outil de pick ouic, mais sur cette page, tu pourras avoir un
complément d'information. Néanmoins, comme tu pourras le voir, la deuxième
tooltip est très sympa.
ca renvoye vers le meme lien que celui de brieygu... c'est normal docteur ?
Hors ligne
pick ouic a écrit:
Doctor Z a écrit:
Bonjour à tous,
Je n'ai pas encore tester l'outil de pick ouic, mais sur cette page, tu pourras avoir un
complément d'information. Néanmoins, comme tu pourras le voir, la deuxième
tooltip est très sympa.ca renvoye vers le meme lien que celui de brieygu... c'est normal docteur ?
Oups ...
A priori ça pointe vers le même lien ...
Hors ligne
Hélas,
Le problème d'instabilité de n_tooltip est confirmé. Le problème semble être au niveau de l'allocation mémoire ....
Je tourne le problème dans tous les sens ... mais à l'évidence les tooltips fonctionnent à merveille mais ils provoquent une explosion différée de l'applic. Les fenêtre qui en utilisent finissent par exploser lors d'une nième réouverture ou fermeture de fenêtre ...
(Idem avec la fenêtre w_example fournie dans la librairie originale lorsque celle-ci est transformée en mdi - sheet et ouverte plusieurs fois )
Comme je ne suis pas un pro des API Windows, il m'est difficile de comprendre ou éventuellement modifier le script pour en assurer la totale stabilité.
Je suis vraiment à bout de nerfs sur ce problème ... car je ne sais pas que faire pour en venir à bout.
J'espére avoir des témoignages d'implémentation réussie des tooltip ds PB.
Merci
A+
Guillaume
Hors ligne
Salut, c'est peut-être un problème de garbage collector.
Dans les sources de n_tooltip il y a bien ça dans l'événement destructor :
DestroyWindow(hWndTT)
As-tu fait des destroy sur tes objets n_tooltip, p.ex dans Close des fenêtres ?
J'ai testé l'objet n_tooltip hier et je n'ai pas de problème de ce genre, mais je n'ai pas encore "chargé" pour voir si ça tient le coup.
Hors ligne
Bonjour à Tous
J'ai oublié de mettre lors de l'Event CLOSE
// Remove Onglet Produit
inv_ToolTip.of_RemoveTool( tab_1.tabpage_2.dw_cmd22, ii_DwTabular)
Je viens de refaire un teste d'ouverture et fermeture de fenêtre (34 fois)
Aucun soucis.
Hors ligne
Merci pour vos réflexion mais oui il y a bien un DestroyWindow(hWndTT)
J'au également essayé avec of_RemoveTool (bien qu'il semblerait que cela soit facultatif) ... lors de la suppression des controles (destructor). Dans destructor.
J'ai également essayé avec une seul instance globale de n_tooltip appelée 'à la demande' / constructor par les objets où ib_needtooltip est True.
Ce qui est curieux c'est que c'est principalement une fenêtre en particulier qui est affectée :
Je m'explique si j'ouvre une fenêtre B qui utilise les tooltips puis je la referme.
et que j'ouvre la fenêtre A (fenêtre avec bcp d'objets, onglets, ...) boom elle explose avant même de s'afficher.
Par contre si je l'ouvre sans avoir fait AUCUN appel a of_addtool tout va bien elle n'explose JAMAIS.
Idem si je crée une une mini fenêtre C dans lequel j'appelle 'simplement' un tooltip par of_addtool juste pour ajouter un tooltip sur un SLE.
Après avoir ouvert cette fenêtre la fenêtre "A" explosera .... lors de son ouverture (Alors que les tooltips ont été désactivés sur cette fenêtre...)
Je vais me résigner à incorporer un ocx pour ces malheureux Tooltips ...
Hors ligne
Bonjour,
J'utilisait une version un peu vieillotte.
Pas de soucis d'implémentation pour celle-ci, mais j'ai juste un souci au niveau du rendu de l'infobulle quand j'essaye de mettre une backgroundcolor et même un TextColor.
Je suis sous Seven.
Quelqu'un a t il une réponse.
Merci.
Hors ligne
Je ne puis hélas pas t'aider car les tooltips causait des problèmes de stabilité vraiment étrange sur mon appli que j'ai finalement décidé de ne plus les utiliser ...
Cordialement,
Hors ligne
J'ai adapté le code pour PB11.5 en remplaçant toute la gestion des chaînes de ansi -> unicode
Je viens d'utiliser cet objet sur PbRegexCoach, l'outil de test de PbniRegex et je ne vois pour le moment aucun problème. Pour ceux que ça peut intéresser, ma version est dispo dans les sources de pbniregex
Hors ligne
Euh quel intéret, en PB11.5 les tooltips sont natifs ?
Hors ligne
En dehors des DW, sur des contrôles genre radiobutton ou listbox ?
Hors ligne
seki a écrit:
En dehors des DW, sur des contrôles genre radiobutton ou listbox ?
ah, au temps pour moi...
mince désolé, j'aurais pas du regarder du côté obscur de la force : VS.C# ou Eclipse.Java...
Hors ligne