Hi Robert,

Am 30.04.13 10:39, schrieb Robert Flintham:
Thanks Christian.

I've tried the following code: ################ import Tkinter

root = Tkinter.Tk() root.title("DICOM Opener") root.tk.eval('lappend
auto_path {K:/Python27/Lib/site-packages/tkdnd2.6}')
root.tk.eval('package require tkdnd') ################

But I get the following traceback: ################
_tkinter.TclError: couldn't load library
"K:/Python27/Lib/tkdnd2.6/tkdnd26.dll": invalid argument
################

Is "invalid argument" as generic as it sounds, or does it mean
something specific in this case?  Is Tcl expecting an additional
argument in the 'package require' line?

I assume the append auto path line is correct as it seems to have
found the DLL (presumably from pkgIndex.tcl).

Yes, actually this means the the "package require" in principle succeeds to perfrom the necessary steps. The EINVALID on Windows in most cases menas, that the DLL has the wrong word size. I.e., you run Tcl in 32 bit and try to load tkdnd-DLL with 64 bit or vice versa. You can get the bitsize from Tcl with

        "set tcl_platform(pointerSize)"
If it tells 4, Tcl runs on 32bit, if 8, it runs on 64bit.

The second problem might be, that the tkdnd.dll depends on some other DLL which can't be found by Windows. To debug this, install a tool like "Dependency walker". I don't use Windows anymore, so my memory might be diffuse.

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

Reply via email to