Shape not acting correctly on colleague's computers

Started by MatLcq, December 16, 2019, 08:44:29 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

MatLcq

Hello,

I'm pulling my hair because of an issue I have with a stencil I just created.

The shapes from that stencil are using a specific color, based on a type that the user can select with ShapeSheet actions (right click and they select the type of a shape)
Whenever I'm using that stencil on my computer, there is no issue with the formatting of the shape: color get applied when switching from a type to an other.
But when colleagues are using the shapes on their computer, color is always black, no matter what type they select. And I think that the font is also not applied.
When I look at the shapesheep on their computer, the formula is still correct, but when switching to values, the value is not correct.

I've attached the stencil.

What can cause that kind of misbehavior?

Thanks a lot for your help!

Surrogate

Do you or/ans your collegue use themes in your documents ?

Nikolay

Another idea - maybe different language settings (list separator / decimal separator) in regional settings?

vojo

couple of things jump out to me
1) I have never seen anybody actually plug a value into a fixed list prop field directly.  I guess what are doing is correct
    (bypassing the fixed list check in prop...logically what you have done should work, but don't know if prop goes nuts)
    Usually its more like this (set an index into the fixed list)...but again what you are doing makes logical sense
    action = setf(getref(<action.checked>), if action.checked, 0,1)
    user.cell = if action.checked =1 , <index num>, if (action1.checked, <index num1>, etc ))))
    prop.value = index(user.cell)
   
2) colors work for me

3) font is a carry over (actual cell value is theme()...not 4)....if I change font, new value is set.
    May want to make sure the RGB values are actually in their respective cells (child shapes) vs carry over.
    Also, old visio used a simple number which was an offset into a list of font (4 would be font D on some but it might be A4 on others.   I believe, circa 2007, the font name

  Definitely something wacked here...my shape for Calibri is 24....but on your shape on my visio instance Calibri is 4.

This looks like a group of shapes, there may be other uninitialized cells in the child shapes

MatLcq

Quote from: Surrogate on December 16, 2019, 09:00:01 PM
Do you or/ans your collegue use themes in your documents ?

No, we don't. I specify in the "user guide" that no theme should be selected. But anyway, all the sub-shapes of my master shape are "protected" against theme changes ((Ribbon) Developer > (Shape Design) Protection > "From Theme ***" are all checked.

Quote from: Nikolay on December 16, 2019, 11:48:59 PM
Another idea - maybe different language settings (list separator / decimal separator) in regional settings?

I will check that, thank you for pointing it out.

Quote from: vojo on December 17, 2019, 04:45:47 AM
couple of things jump out to me [...] This looks like a group of shapes, there may be other uninitialized cells in the child shapes

Thank you for that extensive answer. I'll try a few different things knowing that to see if I can figure it out.

MatLcq

Quote from: Nikolay on December 16, 2019, 11:48:59 PM
Another idea - maybe different language settings (list separator / decimal separator) in regional settings?

Thanks again. Looking at that, I've found this VisGuy article: List Separators in Visio's ShapeSheet are Crazy!

So found out that my "way" of using fixed list members as RGB triplet to define selectable colors doesn't work for all locals.
I was using a hidden shape data (Prop) with a fixed list enumeration with each member of the enumeration being a RGB triplet, like:

Prop.Colors | Prop.Colors.Type=1 | Prop.Colors.Format = "RGB(r1,g1,b1);RGB(r2,g2,b2), ..." | Prop.Colors.Value = INDEX(<User.SelectedIndex>, Prop.Colors.Format)

Since the value gets evaluated as a string I guess, Visio was not "automatically" translating the RGB function from one local to an other. Make sense...

Anyway, thanks a lot all for your answers