28 января 2008

Баг QtScript.

Разбираюсь я тут с QtScript. В 4.4 появился замечательный класс QScriptClass. Он позволяет создавать весьма динамические JavaScript объекты. Вобщем как заработает полностью, так обязательно подробно напишу, а пока меня заторозил неприятный баг (надеюсь что не фича).

Вобщем класс создайтся и отлично работает, но если попытаться использовать такой класс в качестве прототипа, то проявляются 2 неприятных момента. Проиллюстрирую на примере немного модифицированного examples/script/customclass (что исключит влияние моих оч.умелых ручек)


function ByteArraySub(n) {
ByteArray.call(this, n);
}

ByteArraySub.prototype = new ByteArray();

ba = new ByteArraySub(4);

print(ba instanceof Object);
print(ba instanceof ByteArray); //!! тут мы увидим на экране false!!!
print(ba instanceof ByteArraySub);

print(ba.length);
ba[1] = 123;
print(ba[1]);
ba[7] = 224;
print(ba.length);
result = '';
for (var p in ba) {
if (result.length > 0)
result += ', ';
result += '(' + p + ',' + ba[p] + ')';
}
print(result);
ba.toBase64(); //!! А вот тут мы вообще падаем в корку.
print(b64.toLatin1String());
ba.valueOf();
ba.chop(2);
ba.length;


Баг тролям отправил, так что ждёмс подтверждения.

Комментарии: 0:

Отправить комментарий

Подпишитесь на каналы Комментарии к сообщению [Atom]

<< Главная страница