Найти - Пользователи
Полная версия: Возможно ошибка Python s60
Начало » Mobile Python » Возможно ошибка Python s60
1
Zeratyl
Помогите разобраться. Python s60 v 1.4.5. вроде всё написано правильно, а вылазит ошибка Traceback (most recent call last)…

Первый вопрос.

часть кода

global time_timer
time_timer=0

class my_class(object, appuifw.Canvas):

def my_timer(self, nm0):
if nm0==0:
time_timer=appuifw.query(ru(“Время (сек.):”),'number',time_timer)
if nm0==1:
if time_timer!=None:
while time_timer>0:
e32.ao_sleep(1)
time_timer=time_timer-1

вызываем функцию my_timer из другого класса

class myView(object):

def _menuDimmer(self):
# create the menu
menu = [(ru(“Функции”), (ru(“Таймер”), lambda:self.my_class.my_timer(0)
……..

при этом если объявить переменную time_timer непосредственно в самой функции то всё работает

def my_timer(self, nm0):
time_timer=0
if nm0==0:
time_timer=appuifw.query(ru(“Время (сек.):”),'number',time_timer)
if nm0==1:
if time_timer!=None:
while time_timer>0:
e32.ao_sleep(1)
time_timer=time_timer-1

Второй вопрос. вызывая функцию set_white_balance_modes получаем туже ошибку, хотя если проверять в интерпретаторе white_balance_modes_list=camera.white_balance_modes()
print white_balance_modes_list
то значения нормально возвращаться в виде списка

часть кода

def set_white_balance_modes():
white_balance_modes_list=camera.white_balance_modes()
index=0
index=appuifw.popup_menu(white_balance_modes_list, ru('Баланс белого:'))
igor.kaist
1. Вы уверены в том что вы ваш класс инициализировали до того как используете его метод?
2. Не понял, какая ошибка то возникает?
А вообще использовать глобальные переменные это зло…
Zeratyl
1. Уверен. Другие методы класса работают
2. в первом варианте Traceback (most recent call last): (точный вариант на английском не помню, но суть что я использую локальную переменную time_timer раньше чем её объявил), хотя если допустим в туже функцию дописать appuifw.note(ru(time_timer)), показывается значение переменной
во втором варианте Traceback (most recent call last): File “c:\python\my.py” line 61, in set_white_balance_modes

а есть альтернатива как задать начальное значение переменной, при том чтобы при вызове функции запоминалось получаемое в ней значение и в дальнейшем его можно было использовать?
igor.kaist
Ну у вас в коде вообще такая каша, если честно, что понять достаточно трудно что вы хотите получить, и как это должно работать :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB