Показать полную графическую версию : Переменная Null в AutoIt
Здравствуйте,
Подскажите, пожалуйста, как в AutoIt реализовать объявление нулевой переменной.
Мне нужен эквивалент конструкции VB
Value = Null
или конструкции Паскаля
Value := Null
Простое $value="" не катит, равно как и $value=0.
Belfigor
27-08-2009, 15:59
А почему $value=0 то не подходит?
Почему не подходит не знаю.
Я пытаюсь работать с СОМ-интерфейсом, в описании которого рекомендуют этот самый Null тип как он определяется в Бейсике и Паскале.
А про AutoIt этот СОМ ничего не знает :(
как в AutoIt реализовать объявление нулевой переменной »
$NULL = ""
Вот и всё.
Нет, я же говорю, что это не работает. Не считает СОМ-объект это нулевой переменной. Для него это, видимо, пустая строковая переменная.
Не считает СОМ-объект это нулевой переменной
Пример использования COM-объекта в студию.
Да в том-то и дело, что с примером все не так просто.
Это брокерский интерфейс АльфаДиректа
Вот ссылка http://www.alfadirect.ru/?page=api
А вот что я пытаюсь сделать
$oAD=ObjCreate("ADLite.AlfaDirect")
$NULL=""
$tmp=$oAD.CreateStopOrder("33333-000","FORTS","RTSI-9.09","30/08/09 12:00", _
"","RUR", "B",1,110000,5500,$NULL,5)
А если пропустить параметр?
Или так: $NULL= Chr(0)
Ну или метод с оф. форума:
Global Const $NULL = _GetNull()
Func _GetNull()
Local $oVBS = ObjCreate("ScriptControl")
$oVBS.Language = "VBScript"
Local $NULL = $oVBS.Eval("Nothing")
$oVBS = $NULL
Return $NULL
EndFunc
Спасибо, но...
Впрочем, если вариант $NULL="" давал такое сообщение об ошибке
Could not convert variant of type (OleStr) into type (Double)
то вариант через _GetNull пишет
Could not convert variant of type (Dispatch) into type (Double)
abb269, Поискав по оф. форуму, можно найти много полезной инфы: Null problem with COM (http://www.autoitscript.com/forum/index.php?showtopic=73551)
Там в конце ссылаются на то, что Default может иногда заменить Null:
Global Const $NULL = Default
Пробуйте.
CreatOR, большое спасибо! Но...
Ничего не выходит по всем вариантам.
Ближе всего оказался вот такой способ
$NULL=ObjCreate("")
COM уже просто выдает: "Ошибка выполнения", а про типы молчит
Ничего не выходит по всем вариантам. »
Ещё один вариант:
Global Const $NULL = _GetNull()
Func _GetNull()
EndFunc
Идея в том, что функция возвращает 0 если не задан Return, в этом случае оно как раз может вернуть нулевое значение.
P.S
А Default не пробовали без переменной использовать - сразу в качестве параметра?
CreatOR, еще раз спасибо. И еще раз но...
Все пробовал - результат аналогичен NULL :(
abb269, попробуй еще так: "$NULL = .0"
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd.