python response slow when running external DLL
jfong at ms4.hinet.net
jfong at ms4.hinet.net
Fri Nov 27 02:51:35 EST 2015
I am new to Python. As an exercise of it, I try to port a program which was written more than 10 years ago. This program use the Borland C++ Builder as its GUI front end and a DLL does the real work(it will takes a few seconds to complete). I saw a strange phenomenon in the following codes. The "var_status.set('Download...')" statement seems was deferred and didn't show up until the external DLL job was finished and I can only saw the result of "var_status.set('Download OK')" statement which immediately follows. I try to do the DLL function in a thread(selected by using the "test" flag in codes), but it didn't help.
Can anyone tell me what's the point I was missed?
-------------------------
def download():
global iniFilename
if test: global result, busy
ini = iniFilename
iniFilename = "c:\\$$temp.in3"
saveIniFile()
iniFilename = ini
#do the rest
var_status.set('Download...')
if not test:
result = mydll.SayHello()
else:
busy = True
_thread.start_new_thread(td_download, ())
while busy: pass
if result:
var_status.set("Download Fail at %s" % hex(result))
showerror('Romter', 'Download Fail')
else:
var_status.set('Download OK')
showinfo('Romter', 'Download OK')
if test:
result = 0x5555
busy = True
def td_download():
global busy, result
result = mydll.SayHello()
busy = False
--------------------------
Best Regards,
Jach
More information about the Python-list
mailing list