|
Using Perlapp to create an EXE Chart making tool |
Posted by Tim on May-20-2004 13:57 |
|
I have been create scripts that work fine in *.pl format but whenever I compile then into an EXE with PerlApp the script won't work. |
Re: Using Perlapp to create an EXE Chart making tool |
Posted by Peter Kwan on May-21-2004 01:33 |
|
Hi Tim,
I have not tried Perlapp before, but I suspect it may be because it failed to include the full ChartDirector library when packed into the EXE.
From ActiveState's online documentation, it claims PerlApp will automatically search all dependent libraries and include them in the EXE, including the DLLs. I suspect PerlApp may miss some DLLs that ChartDirector needs, such as "chartdir.dll" (or "libchartdir.so" on Linux/UNIX).
From ActiveState's online documentation, a PerlApp EXE should extract the DLLs to a temp directory when the EXE starts to run. Please verify that the temp directory in fact contains the ChartDirector DLLs "perlchartdir???.dll" and "chartdir.dll". If not, you may need to include the DLL in the command line using something similar to "--bind chartdir.dll[file=\\path\\to\\chartdir.dll,extract]".
Hope this can help. Please let me know if the above can solve the problem. If not, I will try to download PerlApp and test myself. (In this case, please inform me of your operating system.)
Regards
Peter Kwan |
Re: Using Perlapp to create an EXE Chart making tool |
Posted by TIm on May-25-2004 07:00 |
|
I have added the line and the script still won't function. I even took one of the simple demo scripts and wasn't able to get the script to compile and function proplerly using PerlApp from activestate. Any help would be great.
Thanks |
Re: Using Perlapp to create an EXE Chart making tool |
Posted by Peter Kwan on May-27-2004 03:00 |
|
Hi Tim,
After a lot of testing and doing some tricks to satisfy perlApp, I am eventually able to compile and run the charting scripts.
ChartDirector comes with many perl modules for different versions of Perl. The "perlchartdir.pm" will automatically detect your Perl version at runtime and select the correct perl modules. However, PerlApp does not handle this well. PerlApp needs to know exactly which perl module ChartDirector is using at compile time.
In my case, I am using ActiveState Perl 5.8.x on Windows, so the perl module I am using is "perlchartdir58mt.dll" (Perl 5.8 for multi-threaded Perl).
Then you need to rename things to satisfy PerlApp. First, you need to rename the "perlchartdir.pm" to "perlchartdir58mt.dll" and put it in "c:\\perl\\site\\lib" (please modify it to the perl lib path in your system). In your scripts, usually you have "use perlchartdir;", but now you need to have "use perlchartdir58mt;" because the file name is changed. Also, you need to put "perlchartdir58mt.dll" and "chartdir.dll" in the subdirectory "c:\\perl\\site\\lib\\auto\\perlchartdir58mt". For some unknown reason, my PerlApp can only locate the DLLs if they are put in the above directory.
After doing the above, you can use:
PerlApp --gui simplebar.pl
In my case, the resulting simplebar.exe works.
Regards
Peter Kwan |
Re: Using Perlapp to create an EXE Chart making tool |
Posted by Tim on May-28-2004 12:04 |
|
That did the job..thanks for your support |
|