Frage

Ich verwende Flex Alchemy Bibliothek SWC ist aus C-Dateien zu generieren. Ich habe einen Byte-Array (unsigned char buffer[size]) in der C-Schicht, die ich als ByteArray an die Actionscript-Schicht zurückgeben möchte. Muß ich durch das Array zu durchlaufen und explizit AS3_Set auf jedes Elemente nennen, oder gibt es eine Möglichkeit, nur den gesamten C-Array sofort zurück?

War es hilfreich?

Lösung

Dies kann mit der AS3_ByteArray_writeBytes Funktion des Alchemy-API.

Andere Tipps

C, wenn sie von der Funktion aufgerufen durch Flash-Rückkehr, stellen Sie den Zeiger auf die C-Array, wie folgt aus:

int * myArray = malloc(100);
//populate array...
return AS3_Array("IntType", (int)myArray);

Dann in Flash:

import cmodule.<c module name>.MemUser;
...
memory = new MemUser();
for (var i:int = 0; i<4;i++) { //getting a 4 uints array
    trace(memory._mru16(data[0] + i*4)); //data is the return value from C
}

oder benutzen diese Funktionen die ints lesen / schwimmt / char aus der c-Array (nicht nur ByteArray.readInt verwenden können () werden die Zahlen in c unterschiedlich dargestellt)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top