Can you please show us how you construct allTextFrames?
I can run this without error:
What is "a null error"?
var allTextFrames = new Array();
allTextFrames = myLayer.textFrames;
The alert shows me nulls.
I get a a "type error null is not an object" but I now realize that is later in the script.
I assume you mean .parentPage in the assignment line of your script.
In which case the alert shows me "[Page]" which is as it should be.
What version of InDesign?
Also, this construction:
var allTextFrames = new Array(); allTextFrames = myLayer.textFrames;
is both superfluous and unwise. You declare allTextFrames, initially assign it the value of the Array constructor, as if it were an array, and then you assign it to a collection.
In this case, simply
var allTextFrames = myLayer.textFrames;
would be sufficient.
What's the minimal document necessary to make your script fail?
Also, it would be nice to see an example that stands on its own.
This one depends on myLayer, so it's annoying for others to test.
I just tried it in 5 and parentPage works??????
I wonder if there is any harm in referencing the pages by index instead like I did to get it to work in 5.5.
It works fine for me in CS5.5, 220.127.116.118 on a Mac.
I think we'll need more details about your document and its layer construction.
What happens if you create a new document with a single textframe?
A TextFrame is always located on a Spread but not necessarily on a Page. That's why tf.parentPage may be NULL.
To see what exactly happens use the following test:
alert( myLayer.textFrames.everyItem().parentPage.toSource() );
Looks like it is because some of the frames are on the pasteboard.
The script is working with my implementation above.
Thanks for your help.