Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Eseguibili di grosse dimensioni
venerdì 29 ottobre 2010 - 13.50
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
Windows 7
|
Windows XP
|
Visual Studio 2005
|
SQL Server 2008 R2
giaarcix
Profilo
| Newbie
18
messaggi | Data Invio:
ven 29 ott 2010 - 13:50
Ciao a tutti,
volevo un consiglio perchè sto rifacendo il gestionale della mia azienda (applicazione windows stand alone vb.net 2005).
Dato che l'applicazione era ed è molto complessa (molti form, molto codice) ho un eseguibile già in produzione che ha superato i 2MB e che secondo me, una volta completato tutto l'applicativo, potrebbe anche superare i 3MB.
Non che questo crei particolari problemi... ma vorrei capire se sia possibile ridurlo con qualche accorgimento.
Considerate che ci sono poche icone all'interno del programma e che sono tutte di pochi kb di dimensione (al massimo 10kb). Quello che mi sembra "gonfi" l'eseguibile, invece, sono il codice e le form, per cui mi chiedevo se non sia possibile (dico un po' ad intuito) estrarre dall'eseguibile parte del codice ed inserirlo in una dll o qualche cosa del genere...
Però non so da dove cominciare!
Grazie mille per le idee che mi suggerirete!
Giacomo
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
ven 29 ott 2010 - 14:11
Ciao.
non ti preoccupare. 2Mb non sono niente. La nostra applicazione ha 32 librerie e supera in totale i 70Mb.
Se vuoi puoi ridistribuire il codice il librerie diverse (con un certo criterio ovviamente) in modo da avere una cosa "leggibile" e visivamente comprensibile.
Ciao
Cristian Barca
giaarcix
Profilo
| Newbie
18
messaggi | Data Invio:
ven 29 ott 2010 - 14:22
Ciao e grazie mille per la risposta prontissima!
Un eseguibile di 70MB!? Caspita!
Ok, mi hai rassicurato... ma diciamo che mi piacerebbe sperimentare un po' con le librerie.
Io ho una serie di "code file" che sono abbastanza a sè stanti ma che "collaborano" con i form principali.
Ad esempio ci sono funzioni generiche (matematiche, di conversione, ecc.), funzioni che popolano database esterni, e funzioni che popolano campi o grid che si trovano nei form principali.
Ora mi chiedo: una libreria "fatta bene" contiene solamente funzioni completamente a sè stanti o anche funzioni che vanno a interagire con i form principali? Cioè in soldoni posso inserire in una libreria una funzione nella quale uso un comando tipo main.textbox1.text = "pippo" dove main è un form dell'applicazione in cui userò la libreria?
Così ad occhio direi che non si può.. ma non si sa mai!
Grazie...!!!
Giacomo
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
ven 29 ott 2010 - 16:04
Ciao.
Non ho un unico eseguibile da 70Mb. L'eseguibile di avvio è di circa 6Mb, poi tutta l'applicazione (insieme delle dll) arriva a 70Mb circa... e le dll non sono poi tanto piccoline.
Ciao ciao
Cristian Barca
giaarcix
Profilo
| Newbie
18
messaggi | Data Invio:
ven 29 ott 2010 - 16:29
Ah ecco!
Ok...ma se io volessi imparare ad usare le librerie... giusto per cominciare?
Quello che ho scritto nel mio post precedente ha senso?
Grazie!
kataklisma
Profilo
| Senior Member
394
messaggi | Data Invio:
ven 29 ott 2010 - 16:36
Ciao :)
>Ora mi chiedo: una libreria "fatta bene" contiene solamente funzioni
>completamente a sè stanti o anche funzioni che vanno a interagire
>con i form principali? Cioè in soldoni posso inserire in una
>libreria una funzione nella quale uso un comando tipo main.textbox1.text
>= "pippo" dove main è un form dell'applicazione in cui userò
>la libreria?
>Così ad occhio direi che non si può.. ma non si sa mai!
Tutto si puo fare ma è sbagliatissimo....basterebbe passare un parametro di tipo TuoForm in modalità reference....
La cosa migliore, ovvia e logica è quella di sviluppare funzioni che restituiscono un tipo e che popolano i form ad esempio :
public string RitornaPippo()
{
return "Pippo";
}
...
mioform.txtPippo.Text = RitornaPippo;
...
cosicchè da avere nelle varie dll le varie function e negli exe la GUI del software.... ;)
>Grazie...!!!
Di nulla :)
------------------------------------------
Ignazio Catanzaro
http://blogs.dotnethell.it/swdev/
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
ven 29 ott 2010 - 16:38
per dividere tutto in librerie dovresti fare prima una analisi attenta di quello che hai già fatto.
Di solito si cerca di fare in questo modo:
- una libreria di basso livello in cui sono inserite le impostazioni dell'applicazione e l'accesso al DB.
- una libreria di livello superiore contenente tutte le funzioni che usa il tuo programma.
- una libreria di livello più alto in cui metti tutta la grafica.
Con una struttura di questo tipo se cambi qualcosa di grafico, mandi solo la libreria della grafica, se cambi qualche "modo operativo" della tua applicazione, mandi solo la libreria intermedia etc....
Ora non so la complessità del tuo progetto e se conviene nello stato attuale cambiare l'architettura anche perchè non è un lavoro che fai in poco tempo. C'è da buttarci il sangue.
Cristian Barca
giaarcix
Profilo
| Newbie
18
messaggi | Data Invio:
ven 29 ott 2010 - 16:47
Grazie mille! Farò qualche prova per capire se mi conviene modificare ciò che ho già fatto oppure aspettare il prossimo progetto!
Chiudo!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !