Показать сообщение отдельно
Старый 25.09.2009, 16:23
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 5  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Цитата:
Если не секрет, поделитесь, над чем трудитесь. Ситуация может прояснится.
да из флеша надо периодически дергать длл, та инициализирует определенный 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, почему не знаю) Может можно в асю стукнуться?.