Hallo all,

I have a big, and as yet, unsolvable  problem.
I use quite some tmplt's (groups) I keep in a seperate stack and when I need one I copy this tmplt to the card or group where I need it. So far all works as expected.

Now comes the problem: Very often one or more controls of this copyed tmplt or the copyed tmplt itself will get an ID of 0. This is more than a nuisance as I keep discovering more and more problems with controls with an ID of 0. The first problem is the long id the IDE/engine places in the it variable. If there is a ID of 0 in it, it will be invalid. Which means if you do the following it will throw a error saying the control doesn't exist.

on mouseUp
copy grp "myTmplt" of cd 1 of this stack to grp "myGrp" of cd 2 of this stack set the name of it to "test" -- it: group id 0 of group id 1012 of cd id 1002 of stack "myStack"
end mouseUp

I had to change a lot of code because of this. I couldn't be sure the long id in the it var was reliable,
because it might contain a ID of 0.
This problem can be solved as follows:

on MouseUp
put the number of controls of grp "myGrp" of cd 2 of this stack + 1 into tCount copy grp "myTmplt" of cd 1 of this stack to grp "myGrp" of cd 2 of this stack set the name of control tCount of grp "myGrp" of cd 2 of this stack to "test"
end mouseUp

Now it doesn't matter if I copy a image/field or a group consisting of many controls, since tCount will point to the next layer within the destination, which will be the group in case a group get's copyed. (you can't use the last control of grp "myGrp" it will throw a error on compiling and anyway if you copy a grp the last control will point to the control with the highest layer within the copyed grp)

Further if you use tmplt's which you copy, always and I mean always, use long names to point to a specific control, as you just can't trust the ID or the long ID. (a major rewrite of my code)

Ok this is a nuisance, but there is at least a solution/workaround to it.

Now I discovered a new problem with a control which has gotten the ill fated ID of 0.
If it happens to be a field you can't get it's formattedWith/Height etc.
I simply can't find a way to get at this, it always returns 0

put the width of fld myLongNameFieldReference gives: 220
put the value of yLongNameFieldReference gives: This is some text
put the formattedWidth of fld myLongNameFieldReference gives: 0

So the field exists (with a ID of 0) and it has text in it. But I just can't get the formattedWidth of it .

I found in a rev lib stack a comment that the engine sometimes returns 0 as ID for controls and that they leave it at the moment. The problem is I now have a card with sometimes 10 or more controls with a ID of 0 which gives all kinds of problems.

Does anyone know a trick or workaround to get the formattedWidth of my field? Please. This is a complete stopper for me at the moment since I can't format my field and I use dozens of them which need to be
formatted depending on there content.


Hoping someone of you bright minds knows/finds something clever to solve my problem.

Best wishes,
   Claudi
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to