in reply to Re^2: Tk Drag and Drop Between Applications
in thread Tk Drag and Drop Between Applications

Although Tcl/Tk allows mySQL database, there is no need to switch to Tcl for database access, because you can use it from Perl.

For example, you can do GUI part (with DnD) in Tcl and remaining part using Perl.

It's for you to decide.
Let me know if you will have some difficulties, I'll help solving them.

Best regards,
Courage

  • Comment on Re^3: Tk Drag and Drop Between Applications

Replies are listed 'Best First'.
Re^4: Tk Drag and Drop Between Applications
by Ardemus (Beadle) on Dec 16, 2004 at 19:24 UTC
    Thanks, it looks like I'll need some help. I have Activestate Perl and Activestate Tcl/Tk.

    Activestate doesn't have Windows PPMs for Tcl::Tk or Tcl. So I tried my hand at making Tcl 0.84.

    It "looks good", but says, "Note: (probably harmless)" the following libraries are not found (I've taken a random sample and conifirmed that they aren't on my system).

    oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib
    It ends with "Writing Makefile for Tcl". Running make returns this error:

    make: *** No rule to make target `C:\Perl\lib^', needed by `Makefile'.  Stop.

    I've poked around online for this issue, but Tcl::Tk doesn't have much coverage.

      Do you have compiler? Which one?

      Usually extensions with XS are built with MSVC and nmake (not make)

      However I can share my own Tcl.dll that is used fom ActiveState's Perl 5.8.4 and ActiveState's Tcl at http://www.vkonovalov.ru/unicode/Tcl.dll
      this file should be copied into (you-perl-path)/site/lib/auto/Tcl
      Tcl.pm should be in (you-perl-path)/site/lib
      Tcl::Tk is pure-perl so it will be easier to install, but just copying Tk.pm into (you-perl-path)/site/lib/Tcl/

      Still, I can help you building your own binaries.

      About low coverage of Tcl::Tk - keep in mind this is only a light bridge module between Perl and Tcl/Tk (both has huge couverages...)
      However Tcl::Tk has its own support list, so your problems written to it will be answered quickly.
      Write to http://sourceforge.net/mailarchive/forum.php?forum_id=40170 or subscribe there...

      Best regards,
      Courage, the Cowardly Dog

        Thanks for all your help Courage. I followed your instructions but I get these errors when I run the widget demo from Tcl::Tk...

        Window

        perl.exe - Unable To Locate Component The application has failed to start beceause tcl85.dll was not found. + Re-installing the applicaion may fix this problem.
        Console

        C:\DOCUME~1\nburger\Desktop\PERL&T~1\Tcl-Tk-0.84\tk-demos>perl widget Can't load 'c:/Perl/site/lib/auto/Tcl/Tcl.dll' for module Tcl: load_fi +le:The specified module could not be found at c:/Perl/lib/Dyna Loader +.pm line 230. at c:/Perl/site/lib/Tcl/Tk.pm line 4 Compilation failed in require at c:/Perl/site/lib/Tcl/Tk.pm line 4. BEGIN failed--compilation aborted at c:/Perl/site/lib/Tcl/Tk.pm line 4 +. Compilation failed in require at widget line 5. BEGIN failed--compilation aborted at widget line 5.
        I've double checked the location of the dll and it matches what the console says is missing. However, the pop-up is asking for a different dll, which I don't have. I'll check out the group that you recommended. Thanks again.
        Regarding building my own binaries. I haven't added anything to my install. I haven't ever built a binary.

        First I tried adding through Activestate's PPM. They don't have these two. I've tried CPAN's auto install: "perl -MCPAN -e shell", but that errors out because it can't find 'test'. And trying the basic makefile.pl file and make give me the errors listed above.

        Note perl -V:make points to nmake, but nmake and dmake aren't in the path on my system, nor are they in my perl directory.

        I haven't really RTFM'ed on building binaries. So, I'll start down that road.