h0uk schrieb:
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

Hm. I suggest you take this to the PyQt mailinglist. Phil Thompson is very responsive.

Diez
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to