Thanks very much for all the useful advice and encouragement. It's been a frustrating day again. I started out using the trim page memory feature. I hadn't been using it and you're right my programs are usually just one page with a reasonable number of objects but stuffed full of code. After using this a new error message kept showing up:

It could be coincidental but I hadn't seen this message before. The real problem of course is the excessive quantity of code. If I could somehow reduce it, all the error messages would almost certainly go away. Does trim page memory have any advantages over saving the book with a different name? So far I have always been able to export to DHTML by 1) saving with a different name 2) using the repair kit 3) rebooting the computer. After resorting to one, two or all three solutions combined, I can continue working! I already use an XML file as much as possible to set up the page but I imagine that the XML can't include functions or global variables.
XP on Virtual Box would probably help but I don't have a suitable XP installation CD. I think the only conclusion is that as much of the code as possible MUST be offloaded otherwise this project will never be finished.
I have a new idea. Rather than offload to a js file which doesn't always seem to work (that could be due to my programming) maybe, thanks to pgExecuteRemote, I could store some in one of the secondary TB programs that I load with pgGotoURL. I have looked at some of my shared actions that could be dealt with in this way and I could certainly reduce the number of lines in each quite a lot.
My program uses an array to hold a lot of data. The contents would be a bit like this:
- Code: Select all
12147,6,r1,3406,What animals can you see?
14241,4,3954,1,1
19687,3,r3,6125,Testing for recording without pause.
25970,4,6079,2,1
32881,7,Two natural predators in empathy.,6283,
39164,4,5500,3,1
43144,1,Here is a text being displayed without pausing the video.,20844,
63878,4,4688,4,1
77240,2,5000,,This is a text being displayed while the video is paused.
77240,4,5828,5,1
84804,6,r11,6172,Teacher recording followed by unlimited student recording.
84804,4,,6,
91590,3,r13,5312,Commentary without pause.
96969,4,,7,
100668,7,We're in the open. We're in the frontierage. It's not like we're in some civilized place.,6624,
107292,4,,8,
112462,1,So far¤ so good?,9447,
121909,4,,9,
125519,2,5000,,The End
125519,4,,10,
but in theory there could be 60 lines and each line could be considerably longer if the user wants to display a lot of text. Each line is in an array index.
Is there any way I could make this array available to more than one TB DHTML. I vaguely remember you explaining something about user the browser local data storage but maybe this would not be relevant to this particular problem. Even if this is not possible I am pretty sure I can reduce the size of the current shared actions by performing some of them in a second book.
Another question: I know I can load my XML database using XMLHttpRequest() but how can I access it in TB? In the example I showed you the code that finds the appropriate translation snippet is in the html that I load into a field. Maybe I could use this code with exeJavascriptDirect?
Sorry to bother you with all this again. I really appreciate your help. I'm going on vacation soon so I''l leave you in peace for a while.