On 8 янв, 01:02, "Diez B. Roggisch" <de...@nospam.web.de> wrote: > h0uk schrieb: > > > > > Hello. > > > I have the following code: > > > #workers = {} > > QtCore.QThreadPool.globalInstance().setExpiryTimeout > > (300000) > > QtCore.QThreadPool.globalInstance().setMaxThreadCount(1) > > for i in range(1, int(userscnt) + 1): > > work = wk.Worker(i) > > # connect signals > > work.mmShowCaptcha.connect(self.show_captcha_dlg) > > work.log.connect(self.handle_log) > > self.captcha_answer.connect(work.mmCaptchaAnswer) > > work.setAutoDelete(True) > > QtCore.QThreadPool.globalInstance().start(work) > > > On last line of code ( QtCore.QThreadPool.globalInstance().start > > (work) ) i get an error: > > > SystemError: error return without exception set > > > What is wrong in my code??? Any advise??? > > The error is on C-level. AFAIK it occurs when a Python-C-function > returns "NULL" without setting an exception. > > It's hard to say where it really occurs. I'd use a debug-build of PyQt, > and possibly Python, and then investigate using gdb. > > Alternatively, what happens when you do some "dummy"-work that doesn't > use signals and no other libraries? > > Diez
About some "dummy" code: #!/usr/bin/env python # -*- coding: utf-8 -*- import sys import os import time from PyQt4 import QtCore, QtGui class Job(QtCore.QRunnable): def __init__(self, name): QtCore.QRunnable.__init__(self) self._name = name def run(self): time.sleep(10) print self._name def autoDelete(self): return self._auto def setAutoDelete(self, auto): self._auto = auto if __name__ == "__main__": app = QtGui.QApplication(sys.argv) QtCore.QThreadPool.globalInstance().setMaxThreadCount(1) j = Job("Job-1") j.setAutoDelete(True) QtCore.QThreadPool.globalInstance().start(j) Even this code not work. On the last line of code ( QtCore.QThreadPool.globalInstance().start(j) ) i get the error: >> An unhandled win32 exception occured in python.exe -- http://mail.python.org/mailman/listinfo/python-list