Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка потока в WxRuby 
:(
    Опции темы
Teimos
Дата 21.9.2012, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 21.9.2012

Репутация: нет
Всего: нет



Задача: загрузить из дропбокс файла список сайтов клиентов и вывести в гуишке.
Листинг:

Код

# coding: utf-8
 
require 'rubygems'
require 'wx' # гем wxruby
require 'mechanize'
require File.join(File.dirname(__FILE__), 'guishka')
 
class Gena < XFrame
  def initialize
    super #инициализация родительского конструктора
    
    #вешаем события на кнопки
    evt_button(b_reload) { reload_sites }
    
    timer = Wx::Timer.new(self, Wx::ID_ANY)
    evt_timer(timer.id) {Thread.pass}
    timer.start(10)
    
  end
  def curr(str)
    @curr_action.set_label(str.to_s)
  end
  def curr_clear
    @curr_action.set_label("OK")
    puts 'OK'
  end
  def reload_sites 
    curr "Загружаю дропбокс..." #тут работает нормально
    Thread.new do
      agent = Mechanize.new
      agent.agent.http.verify_mode = OpenSSL::SSL::VERIFY_NONE
      data = agent.get $config['dropbox'].to_s
      tmp = Array.new
      data.body.each_line do |line|
        line.chomp!
        tmp << line.split(";")[1]
        puts line.split(";")[1]
      end
      @list_site.insert_items(tmp, 0) #На этом шаге приложение зависает, и белеет (виндовс 7)
      curr_clear #Если убрать предыдущий шаг, все равно вылетит вот в этом месте, так как в этом методе идет обращение к методам гуя
    end
  end
end
 
Wx::App.run do
  Gena.new.show
end


В общем проблема в том, что когда я пытаюсь из потока обратиться к методам объектов из класса, в котором был вызван поток, все падает.

В чем причина может быть? Я даже не знаю как отловить баг, Begin... rescue - не ловит ничего.

Спасибо заранее.
PM MAIL   Вверх
Google
  Дата 20.5.2019, 16:15 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: GUI | Следующая тема »


 




[ Время генерации скрипта: 0.2008 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.