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

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

Recommended Posts

Posted

Go to Field ["Find"]

Select All

Loop

Pause/Resume Script ["0:00:01"]

Exit Loop If ["Status(CurrentFileName <> "Find""]

End Loop

If ["Status(CurrentError)=400"]

Show Message ["No results match your request"]

Go to Layout [Original layout]

Else

Perform Script [sub-scriopts, "Find It"]

End If

On the Mac what this does is if I click a button, a pop-up list comes up listing the alphabet a-z. The pop-up list stays up until 1) the user selects a letter, in which a sub-script is run to perform a matching find, or 2) if the user clicks outside the pop-up then the pop-up goes away and the user is returned to the original layout.

This does not seem to work properly on the PC. Click the button to run the script, the pop-up appears with the alphabet, but instead of staying up, it immediately disappears, not allowing the user to pick anything.

Any ideas why such a drastic difference on this one from Mac to PC?

LR

Posted

Yes. This is a consequence of a slight difference in the behaviour of pop-up lists between platforms. It is a bit irritating, but it can be overcome.

The kind of effect you are looking for can be achieved on the Windows platform using a pop-up menu rather than a list. However this, in turn, does not work on Mac.

To make the thing work correctly on both platforms, what you have to do is:

1. Turn 'Allow entry into field' off for the pop-up list field (if you haven't already done so).

2. Duplicate the field on your layout and change the duplicate to be a pop-up menu rather than list.

3. Make sure that the two copies of the field are included in the tab order, with the 'menu' version immediately following the 'list'.

4. Stack the copy of the field (the menu one) exactly on top of the original (list) one.

5. Include the following additional steps in your script, immediately after the Go to Field [ ] step at the start:

If ["Int(Status(CurrentPlatform)) > 1"]

Go to next field

EndIf

That will ensure that the functionality you want is delivered seamlessly on both platforms (the user need not be aware that there are two copies of the field rather than one on the layout, and the correct copy will be invoked automatically according to the platform the file is running on at any point).

Posted

Excellent suggestion, Ray. ToaR!

However, how would you document that so that anyone coming after would know what the heck was going on/notice the doubled fields?

Posted

Hi Ted,

Since the functionality hinges around the inclusion of a couple of extra script steps, as well as a pair of 'stacked' fields, a reasonable approach to documenting it is the inclusion of comment steps at appropriate points in the script.

Script comments can contain sufficient text to outline the basic approach and refer to the reasons for it, for the benefit of those who come after.

Posted

I agree. Great suggestion.

For my solution I ended up having to use the events plugin for my PC users. I was able to have a script that if a Mac user called it then a field pop-up for the mac user came up. For the PC users, a different field pop-up came up, this one running the events plug-in for PC so that when the field changed a different script was called.

Worked out great. Thanks.

This topic is 8050 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.