Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.09.2009, 17:07
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 1  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
По умолчанию Проблемы с результатом метода DLL.call();

День добрый, пытаюсь организовать работу с внешней длл, все вроде бы коннектится,запускается и отрабатывает, но результат не тот? К примеру вызываю функцию:
Код AS3:
var myDLL = new mdm.DLL("C:\\WINDOWS\\system32\\kernel32.dll");
var frequency = myDLL.addParameter("integer", "1000");
var duration = myDLL.addParameter("integer", "1000");
var res:Boolean = myDLL.call("boolean", "Beep");
out.text = String(res); // false
В чем подвох?.. там же по случаю хотелось бы узнать какой тип назначать переменной \ как ее обработать, если тип возращаемого параметра в Си обозначен как unsigned char?

Старый 17.09.2009, 09:09
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 2  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Странно, у меня ваш код пишет true.
unsigned char - это целое положительное число в диапазоне 0-255. Соответственно в АС тип Number.

Старый 17.09.2009, 11:29
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 3  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
хм..может я как нитак запускаю?
Код AS3:
package AS
{
	import flash.display.Sprite;
	import mdm.*;
	import mdm.DLL;
 
	/**
	 * ...
	 * @author ...
	 */
	public class Main extends Sprite
	{
		public function Main()
		{
			mdm.Application.init(this, onInit);
		}
 
		function onInit():void 
		{
			out.text = 'ok';
			try {
				var myDLL:mdm.DLL = new mdm.DLL("C:\\WINDOWS\\system32\\kernel32.dll");
				var frequency = myDLL.addParameter("integer", "1000");
				var duration = myDLL.addParameter("integer", "1000");
				var res:Boolean = myDLL.call("boolean", "Beep");
				out.text = String(res); // false
				trace(res);
			} catch(e:Error){
				trace(e + '\n\t Failure loading library..');
			}
		}
}
}
на вид все нормально, бип отрабатывает, но результат фолс..(((
Можете выложить пример как вы вызываете?
З.Ы. сам результат false я вижу уже при компиляции во флеше, но гудок срабатывает только после обертки в цинк. Хотя результат не меняется.. Кстати какую версию вы используете? у меня 3.0.15 триал, могут быть проблемы изза этого?
З.З.Ы. попробовал и под кс4 и под кс3, так же скаал версию 3.0.3 результат все тот же..


Последний раз редактировалось nOobCrafter; 17.09.2009 в 12:48.
Старый 17.09.2009, 12:56
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 4  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Да, версия цинка у меня 2.5.0.34. За тройку говорить трудно, я с ней мало работал. Но ловил на ней косяки при работе с длл, да. Может, начать работать с длл не в обработчике onInit, а по-позже? Хотя... фигня все это, наверно.

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

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
можно архивчик с тем как вы это делаете?.. если нетрудно конечно, просто сравню. А то обнаружил что еще и с компортами лажа какая то.. может действительно 2.5+ юзать.. там кстати ас3 поддерживается или ему всеранво что обертывать??

Старый 17.09.2009, 13:41
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 6  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Нет, АС3 2.5.0.34 не поддерживает. Это одна из причин, по которой стоит все-таки осваивать тройку. Пожалуй, чуть ли не единственная. Впрочем поддержка висты еще в тройке появилась. Вцелом тройка мне не нравится.
Ну, а архив.. да что там выкладывать. В первый кадр пишу ваш код из первого поста, компилю свф, затем цинком ехе и все. Само-собой под АС2.
Вложения
Тип файла: zip testBeep.zip (44.2 Кб, 65 просмотров)


Последний раз редактировалось alexcon314; 17.09.2009 в 14:04.
Старый 17.09.2009, 13:49
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 7  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
ясно, спс за инфу, буду дальше ее мучать, скачаю еще 2.5.0.34 и посомтрим тчо там отпишется..

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:40.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:40.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.