Цитата:
|
Если не секрет, поделитесь, над чем трудитесь. Ситуация может прояснится.
|
да из флеша надо периодически дергать длл, та инициализирует определенный COM-port смотрит что там, и по хорошему должна возвращать результат. Но работает хитро. Если исопльзовать со стороны Си то проблем нету, а с флешем уже есть проблемы:

Код AS1/AS2:
unsigned char id[8];
ReadIDaiu(id);
в длл, делаем массив, и передаем его в функцию, там он обрабатывается и функцией возращается результат обработки (удалось прочесть что то или нет 1 \ 0)
Сам массив используется дальше в работе. Я думал написать еще одной дллку-обертку, которая бы после получения результат возвращала бы мне массив или хотя бы строку (теперь понимаю что разницы особой нету):

Код AS1/AS2:
function readCardID():String // в итоге надо что бы возвращало строку с ключом или строку с ошибкой.
{
unsigned char id[8];
var result:int = 485.ReadIDaiu(id);
if (!result) // запустили функцию из 485.dll если вернет 0, то все ок и едем дальше
{
for (int j=0; j<7; j++)
{
printf ("%2.2x ", id[j]); // складываем в массив?
}
return id.toString; // переводлим массив в строку и возвращаем последнюю
} else {
return 'Error: ' + result;
}
}
Вот примерно в такое реализации (это я накидал примерный вид))
Походу остается вариант что я предложил в предыдущем своем посте, написать 6 функций которые бы возвращали мне елементы массива (массив вроде бы на 8 символов, но задействовано 6, почему не знаю) Может можно в асю стукнуться?.