Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Hello,
Voila un bout de script qui permet de rendre transparent la couleur de fond d'un statictext...
Creer un user object de type STATICTEXT
A mettre en variable d'instance :
boolean ib_Painting
A mettre dans l'evenement CONSTRUCTOR:
this.BackColor = 2^29
Creer un evenement :
et mettre ce script sur l'evenement :
if IsValid(this) then if ib_Painting then return 0 ib_Painting = TRUE this.visible = false do while yield() ; loop this.visible = true ib_painting=false end if return 0
Apres, il ne vous reste plus qu'à hériter cet objet...
Cette méthode fonctionne aussi sur les singlelineedit ect...mais seulement en mode affichage !
Hors ligne
On m'a remonté le problème suivant. En laissant la window un instant en inactivité, on a, en cliquant plus tard :
Application execution error (R0002)
Application Terminated.
Error : Null object reference at line 7 in ue_paint event of object st_1 of w_...
Donc sur le
this.visible = true
Bizarre...je me plonge dedans un peu plus tard..
Hors ligne
Ca sens le destroy de l'objet dans la pile des événements à plein nez...
Hors ligne
foon a écrit:
Ca sens le destroy de l'objet dans la pile des événements à plein nez...
Merci foon pour cette indication. Par contre, je n'ai rien trouvé à propos de cela sur le forum.
J'imagine qu'en fait, au bout d'un certain temps d'inactivité, la pile d'evenement qu'utilise PB 'demande' la destruction de l'objet...donc ensuite, la reference 'this' du code, ne peut être interprétée.
Dans ce cas, comment résoudre le problème? Appeler 'this' dans la boucle? car le problème est assez pénible à contater, car apparemment ca demande d'attendre dix minutes...
Peux tu m'aiguiller si j'ai mal compris, si t'as un lien du forum interessant pour moi, ou une solution efficace...
Hors ligne
Peut-être en faisant un test Isvalid(This) supplémentaire à la sortie de la boucle?
Si le test est incorrect, on sort en faisant un return 0, mais c'est à tester, car si l'objet a été détruit par le garbage collector,
ça risque de faire du vilain ailleurs...
Hors ligne
Pages: 1