2014-01-30 8 views
0

Я работаю над видеоплеером, и у меня есть проблемы с flashvars. Это, как я определяю мои FlashVars:Эквивалент «undefined» для типа даты

var beginLive:Date = getFlashVar('beginLive', "undefined"); 
var endLive:Date = getFlashVar('endLive', "undefined"); 

я должен получить значения (отметка о времени) этих Варс. Моя функция конвертирует секунды в секунды/минуты/часы -> Он вычисляет ожидаемую продолжительность потока.

Это моя getFlashVar функция:

//return the content for the flashvar specified by varName, if found, otherwise return the defaultvalue specified 

    function getFlashVar(varName:String, defaultValue:String):String { 
     var result:String = defaultValue; 
     if (undefined != paramsArray[varName] && '' != paramsArray[varName]) { 
      result = paramsArray[varName] ; 
      //ExternalInterface.call("displayVar", paramsArray); 
     } 
     return result; 
    } 

Моя проблема заключается в том, что я должен инициализировать beginLive и endLive к «неопределенным», но они имеют тип дата и «неопределенные» является строкой.

Есть ли эквивалент «неопределенный» для типа «Дата»? Как я могу инициализировать эти vars и избегать Flash, жалующегося на несовместимые типы?

Благодарим за ответы :).

Lea.

+0

Как о 'null'? –

+0

Или 'undefined' (не как строка)? –

+0

Привет, THX для ответа :). Оба не работают. У меня все еще есть ошибка 1176 (Ошибка № 1176: Сравнение значения со статическим типом String и возможно несвязанным типом int). – Daelis

ответ

0

Вы можете добавить метод удобства, который пытается проанализировать результирующую строку из функции getFlashVar как объект Date. Он возвращает объект Date, если строка ввода может быть проанализирована на дату и в противном случае возвращает undefined.

public static function parseDateFromString(value:String):Date { 
    var dateObject:Number = Date.parse(value); 
    if (isNaN(dateObject)) { 
     return undefined; 
    } 
    return new Date(dateObject); 
} 

Чтобы использовать его, передать возвращающегося значение из getFlashVar в parseDateFromString, как это:

var beginLive:Date = parseDateFromString(getFlashVar('beginLive', "undefined")); 
var endLive:Date = parseDateFromString(getFlashVar('endLive', "undefined")); 

Пример вывода:

trace(parseDateFromString("01/30/2014")); // Thu Jan 30 00:00:00 GMT+0100 2014 (Date object) 
trace(parseDateFromString("undefined")); // null (actually undefined)