title: TypeError: message() takes exactly 1 positional argument (29 given)
body: <pre><code>def message(text):
      windll.user32.MessageBoxW(0, text, 'Message', 0x20)
  def otherfunc(startDistance, hops, i, formats, j):
      text = str('Distance: ' + str((startDistance + (hops * i))) + '. Format: ' + formats[j])
      threading.Thread(target=message, args=(text)).start()
  </code></pre>
  
  <p>For some reason this code produces the error that the function is getting 29 parameters, even though you can clearly see that text is a string.
  Anyone has an idea how to solve?
  Also, when calling message() without a thread, it works fine. The problem is that it's required it'll be in a thread.</p>