PDA

Просмотр полной версии : Внешний обмен данными с Делфи оболочкой


Mebyus
04.02.2016, 11:29
Здравствуйте)
Скажите пожалуйста есть ли методы, чтобы добиться следующего.

Есть оболочка на делфи, которая с помощью setVariable устанавливает переменную во флеш.
Делаю контрол NummerStepper(знаю есть готовый, но мне не подходит).

Проблема:
Если я выставляю начальное значение во флеш, то он прибавляет. Но если передаю во флеш он перестает воспринимать переменную, как число. И начинается просто слияние строк. Как быть?

setPush - та самая переменная, я уже и явно определяю,что она число, но все равно, после того как значение приходит из вне, она воспринимается,как строка.
var setPush:Number;


txt_push.text=Number(setPush)
st_inc.onPress=function(){

Number(setPush)
setPush+=0.1

txt_push.text=setPush
trace(setPush)
st_inc.gotoAndStop(2)
}

st_inc.onRelease=function(){
st_inc.gotoAndStop(1)

}

caseyryan
04.02.2016, 12:41
А где тут момент присвоения ей значения пришедшего "извне"?

dark256
04.02.2016, 13:30
Проблема:
Если я выставляю начальное значение во флеш, то он прибавляет. Но если передаю во флеш он перестает воспринимать переменную, как число. И начинается просто слияние строк. Как быть?

var REZ = Number(setPush)+0.1

Mebyus
04.02.2016, 13:42
var REZ = Number(setPush)+0.1

Спасибо вам огромное)))
Все заработало)
Пробовал разные композиции с Number, а до этой что-то не додумался)
А все оказалось очевидно)

Zebestov
04.02.2016, 15:06
Да я же вроде переименовывал эту тему как положено: "Преобразование строки в число"!

alexcon314
04.02.2016, 15:26
в делфях функция для передачи значений во флеш определена так:
procedure SetVariable(const name: WideString; const value: WideString); safecall;
т.е. ничего кроме строки передать нельзя. ну, т.е. да, во флеше нужно преобразовать переданное значение из строки в число (или еще во что-то) самостоятельно.

Zebestov
04.02.2016, 15:28
Ну так это и была суть вопроса, которая, строго говоря, вообще никак не задевает Delphi.