Autore Topic: Creazione eseguibile: cresce all'infinito  (Letto 2331 volte)

Offline oscarand

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
    • http://nessuno
Creazione eseguibile: cresce all'infinito
« il: 09 Aprile 2008, 23:34:39 »
Ciao a tutti, uso da poco Gambas con Kubuntu 7.10, ho iniziato dalla versione 1.0.18 e mi sono trovato bene, poi ho provato a convertire il mio progetto alla versione 1.9.4 e lì sono iniziati i problemi. Sia questa versione, sia la 2.4.1 (installata con i repository indicati su questo sito) non sono in grado di creare l'eseguibile del progetto: riesco a lanciarlo in modalità debug, riesco a creare i pacchetti di installazione, ma se clicco su "crea eseguibile" inizia a crearmi un eseguibile che in pochi secondi supera il 1 GigaByte e non si ferma più con il riscio di esaurire lo spazino su disco. A questo punto sono costretto a uccidere il processo di Gambas per bloccare la crescita del file. Ho fatto alcune prove e me lo fa anche con progetti creati nativamente con la nuova versione di Gambas, ma solo dopo che ho provato a aggiungere/toglire controlli sulle finestre: non sono riuscito a capire cosa generi il problema. Qualcuno ha già avuto problemi simili? se volete posso anche mandarvi i sorgenti del progetto, così potete fare una prova anche voi....grazie a tuti
ciao

g.paolo

  • Visitatore
Re: Creazione eseguibile: cresce all'infinito
« Risposta #1 il: 10 Aprile 2008, 07:38:12 »
Dalle risposte avute in questo forum traspare che l'eseguibile gambas include in se stesso tutto cio che trova nella cartella della tua applicazione. Se hai un database ad esempio, non è opportuno che il medesimo sia collocato nella cartella della tua applicazione: i dati vanno messi a parte!
Non so  se è questo il tuo problema, ma la prima cosa da fare è vedere quante cose inutili sono state messe in tale cartella.

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Creazione eseguibile: cresce all'infinito
« Risposta #2 il: 10 Aprile 2008, 13:51:07 »
Il problema è proprio quello!

Se dai un'occhiata nel forum, cè proprio una discussione a riguardo.

Come suggerito da darth, devi togliere dalla directory (e subdir) del progetto tutto quello che non è creato o gestito da gambas, ad esclusione delle directory cvs e .svn (se usi un versionatore).

La compilazione si prende tutto quello che è presente nella dir di progetto e lo include, inutilmente tra l'altro, nell'eseguibile finale.
Certo che se ti raggiunge oltre 1G, vuol dire che ne hai di roba sotto... :-)

Offline oscarand

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
    • http://nessuno
Re: Creazione eseguibile: cresce all'infinito
« Risposta #3 il: 10 Aprile 2008, 21:23:25 »
ho qualche file, ma l'eseguibile creato con gambas 1.0.18 è solo 129.5 KB. Se invece lo compilo con Gambas 1.9.4 o superiore l'eseguibie cresce all'infinito...

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Creazione eseguibile: cresce all'infinito
« Risposta #4 il: 11 Aprile 2008, 07:05:46 »
La compatibilità fra il codice della versione 1.x e quello della 2.x non è totale.

Per cui prima di creare l'eseguibile direttamente devi controllare il codice sorgente e verificare la piena compatibilità con la versione 2.x delle istruzioni e dei comandi che hai nel tuo programma.
Poi esegui un bel "Compila tutto" prima di generare l'eseguibile in modo da scovare eventuali problemi.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Creazione eseguibile: cresce all'infinito
« Risposta #5 il: 11 Aprile 2008, 16:18:03 »
Esiste anche un'altra opzione che aggiorna in automatico le classi. Sembra verifichi e corregga alcune incongruenze quando si cambia versione di gambas.
Ad ogni modo, una bella ricompilata prima di creare l'eseguibile è consigliata.

Offline oscarand

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
    • http://nessuno
Re: Creazione eseguibile: cresce all'infinito
« Risposta #6 il: 11 Aprile 2008, 21:44:11 »
Ok, la compilazione non genera errori, ma farò una prova creando l'eseguibile commentando tutti i sorgenti, lasciando solo l'interfaccia grafica per vedere se cambia qualcosa....

Offline oscarand

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
    • http://nessuno
Re: Creazione eseguibile: cresce all'infinito
« Risposta #7 il: 11 Aprile 2008, 21:51:06 »
Anche così non cambia nulla....è possibile che capiti perchè ho installato sia gambas 1.0.18 che gambas2 2.4.1? magari non possono convivere insieme....

Offline oscarand

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
    • http://nessuno
Re: Creazione eseguibile: cresce all'infinito
« Risposta #8 il: 11 Aprile 2008, 22:17:42 »
:-) HO CAPITO!!!

Eh sì gambas 1 e 2 si comportano in modo diverso: per comodità l'eseguibile lo salvavo nella stessa cartella del progetto, e in Gambas 1.0.18 questo non causava bessun problema. In Gambas2 invece evidentemente come avete scritto prende tutto quello che c'e' nella cartella, e quindi anche l'eseguibile, che nel frattempo continua a crescere, ma più cresce e più viene aggiunto a sè stesso....insomma si instaura un loop ricorsivo infinito. E' bastato creare l'eseguibile in una cartella esterna al progetto per risolvere il problema. Grazie a tutti!!!