Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

A difference between 11 and 12 may surprise you


This topic is 4398 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

I use a text box 'I declare variables' placed at the top of a layout and the bottom of the stacking order to declare variables that I display as merge variables. The technique was mostly pioneered by Comment and Mr_Vodka and now it has become one of my favorite techniques.

But 12 does not respond as 11 does in this regard. Two files attached (11 and 12) - created in 11.0v3 (Windows XP SP3) and then dragged to 12 icon. 11 refreshes without script ... 12 requires a Freeze Window to force the refresh. If anyone is using conditional formatting with merge variables in these various ways, this is just a caution that it may require an additional refresh technique that wasn't necessary before.

I am unsure if this is considered a bug. This behaves same in 12.0v2 also. It is at minimum a subtle behavior change which might be tied to 12's layout rendering changes. It would be good to pin down the reasoning and if it is a bug, get it reported. Can others give me their opinions on it? To test 12 without trigger you will need to uncheck the layout trigger OnObjectEnter (files attached).

List_MergeVar.zip

  • Like 2
Posted

On Mac OS I'm not finding much difference in List View. A layout in Form View can have the "I Declare Variables" field in the back and in any layout part. In List view it must be in the body to refresh properly. I don't know if this is a change in behaviour since I may have used this technique in List View for the first time on FM 12. It's one of my favorite techniques but most of my layouts are viewed in Form View.

  • Like 1
Posted (edited)

Hi Rick, thank you for responding! What do you mean you are finding 'not much difference'? Either it refreshes and displays the words 'this field has blue' when you change any word in text3 to 'blue' or it doesn't. And I am talking about list view that's why it is down in the body. Can you try it in 11?

My Mac isn't upgraded yet so I can't test Mac. But again, it refreshes fine in 11 but will not in 12 unless you use trigger (which is currently ON in the 12 version). You have to remove it the layout trigger to test 12 without the trigger. :^)

Edited by LaRetta
Posted

Thank you Lee.

I guess I'm not explaining it very well. In version 11, if I change a word in the text3 string to the word 'blue' and click out of the field, the result of 'has word blue' appears to the right. This is because there is a merge variable which has been set with the conditional text string under it. It requires nothing for it to work - no scripts.

But in the 12 version, if you go to Layouts - Triggers and uncheck the trigger there and then try, it will not produce the words 'has word blue' when you change a word. At least this is the result in Windows. If you attach the layout trigger OnRecordLoad, it does work. This is a difference in the way it refreshes.

I know of a few database solutions which run using many of these types of calculations and displays. If folks convert their 11 to 12, some of this functionality might break for them. This is what I am trying to determine. So I need others to try it in 11 and does it update? Then disconnect the trigger in 12 and try it. Does it work? If not, does it work if the trigger is attached?

Thanks and my apology for not being clear. :^)

Posted

Thank you for responding back Rick. :-)

So ... does it refresh in 12 without the script trigger attached in layout setup? Can you change a word to blue and does it produce the sentence? And do you have 11 so you can test the 11 copy?

Posted

Short answer is Yes, yes and I tested 11 also.

I didn't see any difference in 12 using your layout trigger. I have to click out of the field, and then click back into text3 for it to update. If you use the Trigger OnObjectExit on the text3 field, it works better, although slow compared to v11?

Posted

Thank you Lee. So short answer is yes, it refreshes in 12 on Mac without trigger the moment you edit text3 and just click the layout? And in 11 it works even without trigger, is this correct?

In windows, it refreshes automatically in 11. With 12, it does NOT refresh automatically and needs trigger to get the same results. This is a potentially serious behavior change to anyone on windows. And I am looking to understand how Mac is different.

I guess it is time to get this memory installed so I can use my Mac with 12.

Posted

Hi LaRetta,

I want to be sure that I've made myself clear.

To get the "has word "blue" into the your field, I had to tab out of text3, and then click back into text3. Using a OnObjectExit trigger, it refresh, but it is a lot slower than 11 is natively.

I have not seen this technique before (that I recall, but I do have my senior moments LOL), was this a technique published at Kevin site?

Lee

Posted

Hi mselbach,

I am testing for a bug. I am not looking for a different solution. This solution works fine in 11. It breaks in 12 (on Windows) and now Lee has confirmed that it breaks on Mac as well.

Hi Lee,

This is a regular technique that many developers use. Now, I didn't get it from Kevin ... in fact it started way back with Comment using the 'I declare variables' to populate merge variables for display on layouts. I've been using it for years. :^)

Posted

LaRetta,

I'm still posting from an iPad and haven't been able to view your file and specific situation. However, on Mac 12 my fields in List View refresh without a trigger. My generic On Layout Enter script sets the window title and nothing more.

Rick.

Posted

Hi Rick, I appreciate you responding. Well you and Lee both show OS X Lion and it appears that Lee is saying it will not refresh automatically but you indicate it always does so ... but you use OnLayoutEnter and I am talking about a data change on the layout and the immediate refresh of the merge variable and whether it happens which is what I am testing. It works in 11.0v3 and has for years but does NOT work in 12.0v2 or 12.0v3 (on Windows XP SP3).

We know 12 stopped the annoying behavior of evaluating conditional formatting several times but if the behavior is different between 11 and 12 then folks need to know about it. And if there is a difference between Windows and Mac in v12 then it will be important to bring to FMI's attention. This behavior change is not clearly documented that I can find and it may go unnoticed during an upgrade/conversion to 12. Conditional formatting and merge variables are an important part of many top applications and who knows how this lack-of-refresh ties to other behind-the-scenes operations in 12.

So anyone who wishes to respond, it helps us all.

Take the 11 file. Change a word in any record in text3 to word 'blue' and click the layout outside of the field anywhere to de-select. Does the merge variable to the right display 'has word blue'? Drag that file to 12 or open the 12 version. Go disconnect the layout script trigger Layouts > Layout Setup > Triggers OnRecordLoad which is a refresh I used to test what WOULD work in 12. Now do you get the same behavior as in 11? When you de-select, does the merge variable display?

So here is what would really help to know: FM version and updater - OS version - 11 yes/no it works - 12 yes/no it works

... and you don't need to answer both - even if only one version it will help and it would totally rock if you could. Other observations are also welcome. I am suspecting another updater for 12. And if this is another potential bug we need to slide it in. You all have been great for responding. I wish I had one of every FM version/updater and OS versions for testing but I don't. :)

Posted

<So here is what would really help to know: FM version and updater - OS version - 11 yes/no it works - 12 yes/no it works>

Filemaker Pro Advanced 12.0v3 OS SnowLeopard 12 no it does not work as 11 does.

Filemaker Pro Advanced 11.0v4 OS SnowLeopard 11 yes it does work as expected.

two things I noticed. 12 is noticeably slower to respond. the conditional format on the field is not triggered by a change until the field is re-entered.

hope that helps you. I was new to the technique. I have admittedly poor understanding of Let statements. I also have not used PatternCount without the '>0' at the end. My attempts to fix the let statement broke it. I can logically conclude that it

was never broken and that the let statement is not the problem. The problem seems to be exactly as you stated. The screen refresh order of events has been changed in such a way that the conditional is now evaluated 'on enter' instead of 'on change'...

This is a very interesting technique, too bad I won't get to use it. I am only now getting used to merge fields and conditional formatting...

Charles

  • Like 1
Posted

Nicely done Charles.

Mountain Lion OS 10.8.2

FileMaker Pro Advanced v12.0.2

I have not upgraded to v12.0.3 yet

Lee

Posted

So here is what would really help to know: FM version and updater - OS version - 11 yes/no it works - 12 yes/no it works

Filemaker Pro Adv 11.03 - Windows 7 Professional -- Works as expected.

Filemaker Pro Adv 12.03 - Windows 7 Professional -- Does not work as expected.

  • Like 1
Posted

I thin

I wish I had one of every FM version/updater and OS versions for testing but I don't. :)

Virtual machines are great for this! I use https://www.virtualbox.org/ to run different operating systems/configurations. I especially like how I can save/discard changes made in a particular setup, or branch off (to keep a version of FM12v1, 12v2, 12v3).

I just tested in Windows 7 Pro w/ FM11v3 and 12v3, and my results in 12 seem different than everyone else...

First off, 11 works as described by others: exiting the field triggers the conditional formatting calc.

12 without a trigger: go to a different record, then return to the original record to trigger the calc.

12 with OnRecordLoad layout trigger: go to a different record to trigger the calc

12 with OnObjectExit trigger on text3 field: calc is triggered on field exit - which works exactly like it did in FM11

I didn't see any speed difference between v11 and 12 - the only difference is when the calc. was triggered.

  • Like 1
Posted

On Mac 10.7.5 and FM 11, tabbing out of the field where I dad entered "blue" would update the merge field. On 12 w/o trigger my results are the same as others . . . Go to a different record refreshes the field. Is this not simply a matter of the record needing to be committed before the merge field updates?

Posted

Thank you all so much for testing, you each provided just what I need to cover the standard versions, updaters and OS. Russell, I appreciate it and Charles maybe we'll get it back. It was very handy technique and I fear we might have lost more than just that one tiny functionality here. And thanks again Lee!

Is this not simply a matter of the record needing to be committed before the merge field updates?

We are not trying to solve a problem but yes, it is simply a commit or refresh. I am identifying a difference in behaviors between FM versions and many of us with merge variable calculations who count on the refresh can experience incorrect results and displays - that is why I spotted it to begin with. I want to make others aware, particularly those moving from 11 to 12 and to report it to FMI although I am not convinced it is actually a bug but possibly just behavior change. Regardless, we would like it back so I want to point it out. But we don't want it back to how 12.0v2 functioned which loop/refreshed layouts four times was it? LOL.

On more subtle level, what other layout/refresh issues might we also experience from this behavior and it is that hidden aspect as to why I would like FMI engineers to at least know about it. If we were getting a difference between platforms then I would have hollered bug. :laugh:

People who speak up about these things save ME from running into the same quicksand so I must speak up when I see this stuff. We will have the best chance of it being fixed if we can produce a series of tests under the different version/platforms. And you all did that for us all. Thank you!!

This topic is 4398 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.