in reply to Re^3: FBox, getOpenFile, -multiple
in thread FBox, getOpenFile, -multiple

thanks so much for the sample code. i'm still a little confused... you say that (mostly) Tk under ActiveState runs fine - does that imply that it does not use Win32? i'm not making the connection on where Win32 fits into the picture. I thought it would be necessary for any/all Tk calls (when i include the TK package, i thought the Win32 got included too).

also, this might be a dumb question, but why does your code execute fine when activestate executes it, but not when cygwin's perl executes it. with cygwin, the code runs, by a window, nor an error msg, ever appear. i eventually just kill'ed the process.

hope i'm not being too dense here. thanks for your time.

Replies are listed 'Best First'.
Re^5: FBox, getOpenFile, -multiple
by zentara (Cardinal) on Jan 30, 2007 at 17:15 UTC
    Tk on ActiveState runs pretty much the same as on linux. There are a few bugs, most noticed is that on win32 , select only works on socket filehandles, but not on pipes, so IPC is a pain in the A** unless you use sockets or shared mem for the IPC. There are work arounds, just groups.google for them. ActiveState, (I'm just going on memory here), uses Microsoft's latest Visual C, to build itself, and it's modules. So the problem comes in that if you try to use a precompiled ppm that wasn't made with the exact same compiler and settings, it won't work. The Cygwin build tries to use gcc, but then your binaries are incompatible with ActiveState. The aforementioned Strawberry and Vanilla Perl, tries to fix this, by make a standardized setup. I totally avoid win32, so I may be off slightly in my observations, but other monks can straighten you out. So Tk on win32, does use the win32 subsystem, the problem is in how you compile them..... either with Microsoft tools, or opensource tools.....it's all too complicated and expensive to deal with, considering Perl and Tk compile and run perfectly for free on linux.

    why does your code execute fine when activestate executes it, but not when cygwin's perl executes it

    It sounds like your Cygwin installation is broken. It is pretty hard to get it setup right, so most people don't bother with it. Is there a Cygwin maillist you can ask this on?


    I'm not really a human, but I play one on earth. Cogito ergo sum a bum