I may have posted this in the wrong forum the first time so I'm sorry for the repost, but no one has offered any help yet.

I've been trying to figure out why I keep seeing a typeError in my logs for a stream archive system that I built using this popular online article:
http://www.informit.com/articles/article.asp?p=31667

The error I'm seeing is below:
2007-04-03 14:57:27 20741 (s)2641173 ---Current stream: av_2 -
2007-04-03 14:57:27 20741 (s)2641173 DEBUG entered streamStatus function and info.code = NetStream.Play.Reset -
2007-04-03 14:57:27 20741 (s)2641173 elapsedTime = NaN -
2007-04-03 14:57:27 20741 (s)2641173 DEBUG about to get the timearray out of the current tracker -
2007-04-03 14:57:27 20741 (s)2641173 av_2 info.code = NetStream.Play.Reset, NaN -
2007-04-03 14:57:27 20741 (s)2641173 ---Current stream: av_2 -
2007-04-03 14:57:27 20741 (s)2641173 DEBUG entered streamStatus function and info.code = NetStream.Play.Start -
2007-04-03 14:57:27 20741 (s)2641173 elapsedTime = NaN -
2007-04-03 14:57:27 20741 (s)2641173 DEBUG about to get the timearray out of the current tracker -
2007-04-03 14:57:27 20741 (s)2641173 av_2 info.code = NetStream.Play.Start, NaN -
2007-04-03 14:58:00 20741 (s)2641173 ---Current stream: av_1 -
2007-04-03 14:58:00 20741 (s)2641173 DEBUG entered streamStatus function and info.code = NetStream.Play.PublishNotify -
2007-04-03 14:58:00 20741 (s)2641173 elapsedTime = NaN -
2007-04-03 14:58:00 20741 (s)2641173 DEBUG about to get the timearray out of the current tracker -
2007-04-03 14:58:00 20741 (s)2641173 av_1 info.code = NetStream.Play.PublishNotify, NaN -
2007-04-03 14:58:00 20741 (s)2641173 av_1: Publishing started. -
2007-04-03 14:58:00 20741 (s)2641173 ---Current stream: av_1 -
2007-04-03 14:58:00 20741 (s)2641173 DEBUG entered streamStatus function and info.code = NetStream.Data.Start -
2007-04-03 14:58:00 20741 (s)2641173 elapsedTime = NaN -
2007-04-03 14:58:00 20741 (s)2641173 DEBUG about to get the timearray out of the current tracker -
2007-04-03 14:58:00 20741 (s)2641173 av_1 info.code = NetStream.Data.Start, NaN -
2007-04-03 14:58:00 20741 (s)2641173 ---Current stream: av_1 -
2007-04-03 14:58:00 20741 (s)2641173 DEBUG entered streamStatus function and info.code = NetStream.Record.Start -
2007-04-03 14:58:00 20741 (s)2641173 elapsedTime = NaN -
2007-04-03 14:58:00 20741 (s)2641173 DEBUG about to get the timearray out of the current tracker -
2007-04-03 14:58:00 20741 (s)2641173 av_1 info.code = NetStream.Record.Start, NaN -
2007-04-03 14:58:00 20741 (s)2641173 av_1: Recording started. -
2007-04-03 14:58:00 20741 (s)2641173 elapsedTime = 0 -
2007-04-03 14:58:00 20741 (s)2641173 currentTime = 0, currentUser = Michael -
2007-04-03 14:58:00 20741 (s)2641173 DEBUG 1 The timeArray = null -
2007-04-03 14:58:00 20741 (s)2641173 DEBUG mrd = object -
2007-04-03 14:58:00 20741 (e)2641277 Sending error message: /opt/macromedia/fms/applications/pvtVM/startup.asc: line 68: TypeError: timeArray has no properties -
2007-04-03 14:58:00 20741 (s)2641173 0: name: recordTimes, code: success -
2007-04-03 14:58:00 20741 (s)2641173 0: name: recordTimes, code: change -
2007-04-03 14:58:00 20741 (s)2641173 1: name: recordTimes, code: change -



I believe the problem has to do with the timeArray.push line. I'm not sure that timeArray is actually an Array or just a reference to an Array. I'm not a skilled flash programmer so I'm probably way off here but any help would be very much appreciated.

application.streamStatus = function(info) {^M
trace("---Current stream: " + this.ref);^M
trace("DEBUG entered streamStatus function and info.code = " + info.code);
var currentTime = application.fetchTime();^M
var currentTracker = application[this.ref + "_timeTracker_so"];^M
if (!currentTracker.getProperty("recordTimes"))^M
currentTracker.setProperty("recordTimes", new Array());^M
trace("DEBUG about to get the timearray out of the current tracker");
var timeArray = currentTracker.getProperty("recordTimes")^M
trace("DEBUG The timeArray = " typeof(timeArray));
trace(this.ref + " info.code = " + info.code + ", " + currentTime);^M
if (info.code == "NetStream.Play.PublishNotify") {^M
trace(this.ref + ": Publishing started.");^M
this.record("append");^M
} else if (info.code == "NetStream.Record.Start") {^M
trace(this.ref + ": Recording started.");^M
this.isRecording = true;^M
if (!application.startTime){^M
application.beginTimer();^M
currentTime = application.fetchTime();^M
}^M
var currentUser = application[this.ref + "_so"].getProperty("speaker");^M
trace("currentTime = " + currentTime + ", currentUser = " + currentUser);^M
trace("DEBUG 1 The timeArray = " + timeArray);
//save start time of recording in SO for stream^M
var mrd = typeof(timeArray);
trace("DEBUG mrd = " + mrd);
timeArray.push({start: currentTime, user: currentUser});^M
trace("DEBUG The timeArray = " + timeArray);
currentTracker.setProperty("recordTimes", timeArray);^M
} else if (info.code == "NetStream.Play.UnpublishNotify") {^M
trace(this.ref + ": Publishing stopped.");^M
this.record(false);^M
} else if (info.code == "NetStream.Record.Stop") {^M
trace(this.ref + ": Recording stopped.");^M
this.isRecording = false;^M
//save stop time of recording in SO for stream ^M
timeArray[timeArray.length - 1].end = currentTime;^M
currentTracker.setProperty("recordTimes", timeArray);^M
if(this.callBack)^M
application[this.callBack]();^M
}^M
};^M