JohnCarpmael Posted May 11, 2005 Posted May 11, 2005 I have started the process of converting an application from FM5 to FM7. The problem I am getting is that when I move from one file to another using a script, FM7 first displays the last used layout on the file I am going to and then displays the layout I have requested in the script. The effect is a 'flash' before the desired layout is shown. Is there an obviuous way to avoid this ?
Ender Posted May 11, 2005 Posted May 11, 2005 In FM7, the behavior of Go to Related Record[] and Perform Script[] has changed so that an external file no longer pops to the foreground automatically. The conversion process automatically adds Select Window[] script steps to some of your scripts to replicate the previous behavior, but it's not perfect. You should check your problem script, and add or remove this Select Window step to reduce the flashing. More details about this can be found in the FM7 Foundations and Migration Methodologies tech brief on filemaker.com.
JohnCarpmael Posted May 11, 2005 Author Posted May 11, 2005 Looks to me as though the Select Window script is relevant to the new FM7 multi-table files rather than what I have got, which is 41 old-style files which I am moving between. I have tried removing the Select Window script step from the script and it doesnt seem to make things better or worse. Any other thoughts ?
Ender Posted May 11, 2005 Posted May 11, 2005 In the case of solutions with multiple files, the Select Window[] step is essential when navigating between them. Perhaps you can post your scripts so we can see if it's something obvious, or maybe reproduce the problem.
JohnCarpmael Posted May 12, 2005 Author Posted May 12, 2005 Thanks for persisting, Ender ! So I have a Transaction file and a Client file. I have a screen of outstanding calls open in the Transaction file. Then I go to the Client file and from there want to go to a Diary screen back in the Transaction file. I have a script to take me from the Client file to the Diary screen on the Transaction file. The script calls another script in the Transaction file. First script: Copy [ DH client::client code ] [ Select ] Perform Script [ "Go to Diary (initial)" from file: "DH transaction" ] Select Window [ Name: "DH transaction" ] Second script: Adjust Window [ Maximize ] Show/Hide Status Area [ Show ] Show/Hide Text Ruler [ Hide ] Go to Layout [ "Diary" (DH transaction) ] Perform Script [ "Delete unused entries" ] Set Error Capture [ On ] Set Field [ DH transaction::diary date; Get(CurrentDate) ] Set Field [ DH transaction::diary year; Year(Get(CurrentDate)) ] Set Field [ DH transaction::diary week; WeekOfYear(Get(CurrentDate)) ] Set Field [ DH transaction::diary month; Month( Get(CurrentDate)) ] Set Field [ DH transaction::diary year week; GetAsNumber(DH transaction::diary year) & GetAsNumber(DH transaction::diary week) ] Set Field [ DH transaction::diary year month; GetAsNumber(DH transaction::diary year) & GetAsNumber(DH transaction::diary month) ] If [ DH transaction::diary = "Day" ] Perform Script [ "Go to Diary (day)" ] Else If [ DH transaction::diary ="Week" ] Perform Script [ "Go to Diary (week)" ] Else If [ DH transaction::diary = "Month" ] Perform Script [ "Go to Diary (month)" ] Else If [ DH transaction::diary = "Year" ] Perform Script [ "Go to Diary (year)" ] Else If [ DH transaction::diary = "Current" ] Perform Script [ "Go to Diary (current)" ] Else Perform Script [ "Go to Diary (all)" ] End If End If End If End If End If But I get the same problem if I simply put Go to layout Diary. And the problem is that I see the Calls layout and then after a delay it shows the Diary. When what I want is only to see the Diary ! Hope that is clear ! All the best
Ender Posted May 12, 2005 Posted May 12, 2005 It's hard to read your script with the way it's formatted, but the flashing you see might be from the Adjust Window [ Maximize ] step in the subscript. If you make the Go to Layout [ "Diary" (DH transaction) ] step first in the subscript, it won't show the last layout used. You might also need to remove the Select Window[] step in the first script, and add a Select Window [ Current Window ] step to the subscript, placed after the Go to Layout [] step.
JohnCarpmael Posted May 13, 2005 Author Posted May 13, 2005 Well, I'm afraid that didn't work. I have made it a lot simpler now. I have a script in Client which calls a new script in Transaction. The new script just has Go to Layout [ "Diary" (DH transaction) ] Select Window [ Current ] And I get the same result. Do I have something fundamentally wrong here ?
Ender Posted May 13, 2005 Posted May 13, 2005 I still can't tell what you have wrong. This works for me.
Recommended Posts
This topic is 7137 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 accountSign in
Already have an account? Sign in here.
Sign In Now