Newsgroup: it.comp.lang.perl
Titolo: compilatore Perl2exe

Ciao a tutti
Per inniziare vi auguro buon anno.
Qualche tempo fa ho postato per un po di problemini con l'utilizzo di
per2exe
Non ricordo chi mi  propose un piccolo prg di test che verifica la
connessione ad un database, il tutto in veste grafica (Tk).
Il probl. e' che il prg funziona perfettamente se non compilato, ma divenuto
eseguibile (usando appunto il per2exe) non funge e cioe' la finestra di tk
si apre, ma cliccando per la verifica della connessione non succede nulla.
(non risponde neanche che non e' possibile connettersi)
Per compilare, dal prompt di dos eseguo per2exe 
mio.pl
  e almeno
apparentemente la compilazione avviene regolarmente.
 ecco il listato:
use strict;
use Tk;
use Tk::menubutton;
use Tk::text;
use DBI;
use DBD::mysql;
use vars qw/$database $host $user $passwd $dbh/;
use AnyDBM_File;
use SDBM_File;
$database='test';
$host='localhost';
$user='MIA USER';
$passwd='MIA PASS';
my $mw = MainWindow->new( -height => 300, -width => 450);
my $Button = $mw->Button(  -text => "Interroga",
                           -relief => "raised",
   -command=>\&DBI_connect
                           );
$Button->place( -x => 180, -y => 245, -height => 24, -width => 96);
my $Text = $mw->Scrolled( 'Text', -scrollbars => 'osoe',
  -font=>'arial 8'
);
$Text->place( -x => 8, -y => 8, -height => 220, -width => 434);
MainLoop;
sub DBI_connect {
my $frase;
my $dsn="DBI:mysql:database=$database;host=$host";
if (!($dbh=DBI->connect($dsn,$user,$passwd))) {
$frase="ERRORE: non posso connettermi al db\n";
$frase.=$DBI::errstr;
$Text->insert('end',$frase);
} else {
$frase="Tutto ok! \n Connessione database perfettamente funzionante
!!!\n\n";
$Text->insert('end',$frase);
}
}
Grazie

Non è un gran consiglio, però, mi pare di ricordare che il per2exe ha anche
la possibilità di inserire qualche include speciale all'interno del code
perl che il compilatore parserizza andando a pescare esplicitamente qualche
lib che non vuole includersi. Magari prova a includere esplicitamente tutto,
chissà che si risolva. E inoltre verifica che magai non ci sia qualche dll
che viene utilizzata e (forse) non inclusa automaticamente.
ciao
--
perl -MLWP::Simple -e "getprint(' 
http://perl.4pro.net
 ')"

 (non risponde neanche che non e' possibile connettersi)
e io ti ho risposto:
<<Io ho fatto questo script di prova e se il server MySQL č attivo
sia la versione da linea di comando, sia l'exe fatto con perl2exe mi
danno "Tutto ok!", mentre se il server č giů, la versione a linea di
comando mi mostra l'errore sulla textarea mentre l'exe NON mi mostra
nulla di nulla... dunque se il server č a posto, anche l'exe si
connette.>>
Per cui, se MySQL č attivo, allora l'exe funziona altrimenti
ha il problema che hai riscontrato. Hai MySQL attivo sulla giusta
porta? Puoi connetterti anche da linea di comando?
Potresti perň mandare la descrizione del tuo problema al
support di indigostar, sperando che ti rispondano (anche ad un 
utente registrato non č detto che lo facciano :/ )
-- 
$_=q,6;-16;-1;-8;0;7;-13;-12;-9;-3;13#4A75737420616E6F74686572,,($_,$b)=
split?#?;@b=split?;?;map{$c.=$_,$d.=chr$b[$e++]+ord}split??,pack'H24',$b
;chop$d,print$c.chr(32).$d

 porta? Puoi connetterti anche da linea di comando?
Grazie per le risposte.
Mi succede una cosa strana:  ADESSO FUNZIONA pur non avendo cambiato nulla
!!!
ho solo ricompilato il prg ma come puo' essere?
ciao e grazie ancora