Когда звоните AS3_Release - PullRequest
       17

Когда звоните AS3_Release

0 голосов
/ 01 февраля 2011

Если я создаю объект в коде C ++ и возвращаю его в коде ActionScript, должен ли я вызвать AS3_Release перед его возвратом? Например, у меня есть функция в файле * .gg:

public function makeThumbnail(...): Object
{
     AS3_Val objDestByteArray = AS3_New(ByteArray_class, no_params);
     int intDestWidth;
     int intDestHeight;

     // ...  make some calculations and set results as object properties

     AS3_Val result = AS3_Object("width:IntType, height:IntType, data:AS3ValType", intDestWidth, intDestHeight, objDestByteArray);

     // Do I need to call this?
     //AS3_Release(objDestByteArray);
     //AS3_Release(result);

     return result;
}

Должен ли я вызывать AS3_Release для objDestByteArray и result переменных?

1 Ответ

1 голос
/ 01 февраля 2011

Все уникальные AS3_Val переменные должны быть в конечном итоге освобождены.Для AS3_Val возвращаемых переменных функция не освобождает само значение, а вместо этого предполагает, что ее вызывающая сторона организует возможное освобождение значения.

Так что в вашем примере, отпустите objDestByteArray, но не освобождайтеresult пока.Тот, кто звонит makeThumbnail, ответственен за освобождение его возвращаемого значения.

...