La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

App.Path DevLeap.System.Mobile Magari OpenNETCF Reflection System.IO

Presentazioni simili


Presentazione sul tema: "App.Path DevLeap.System.Mobile Magari OpenNETCF Reflection System.IO"— Transcript della presentazione:

1 App.Path DevLeap.System.Mobile Magari OpenNETCF Reflection System.IO
Assembly.GetExecutingAssembly().GetName().CodeBase System.IO Path.GetDirectoryName per strappare l’exe DevLeap.System.Mobile

2 Risorse Embedded DevLeap.System.Mobile BMP, ICO, JIG etc Dichiarare
Build Action = “Embedded Resource” Copy To Output Directory = “Do not Copy” Compilare Per recuperarle dall’exe GetManifestResourceStream DevLeap.System.Mobile

3 Device IP DevLeap.System.Mobile Dns.GetHostEntry
Può avere più di un IP Centralizzare la funzione DevLeap.System.Mobile

4 File .Config….magari  DevLeap.System.Mobile <appSettings>
<add key=“nome” value=“xxxx” /> </appSettings> Da codice Namespace OpenNETCF.Configuration ConfigurtionSettings.AppSettings[“nome”] N.B. OpenNETCF 1.2 Per applicazione Applicazione.exe.config Per DLL Applicazione.dll.config Solo per primo livello 1.3 Applicazione.exe.config Fatto a mano (con caching) DevLeap.System.Mobile

5 Uso Corretto try/catch
Usare try/finally all’interno di try/catch: try { File.Open() } catch (FileNotFoundException e) MessageBox.Show(“Casino sul file”); finally File.Close try { File.Open() } finally File.Close catch (FileNotFoundException e) { MessageBox.Show(“Casino sul file”);

6 Form Load Sempre Lento !  Obiettivo Prima volta Successive volte
Ridurre il tempo di caricamento Successive volte Azzerare il tempo

7 Form Load first time (20% c.a.)
VS.NET 2003/ VS 2005 Costruttore chiama InitializeComponent InitializeComponent Controlli Quadrati (Panel, Tab, Form) Sostituire con this.xxx.Bound = new Rectangle()) Gerarchia Usare figlio.Parent al posto di Papà.Add E Top Down: prima il papà e poi il figlio Occhio che il Designer rigenera sempre tutto Agire subito prima del deploy Fare classe Finta che blocca il designer Tenere due form Su quella “Auto” fare modifiche e ricopiare il “Vera” Tips&Tricks/FormLoad

8 Tips&Tricks/FormShow
Form ReLoad  Form di dettaglio da aprire più volte Definire static il costruttore Che inizializza solo la prima volta la form Definire costruttore privato In pratica si tiene in memoria la form Meno costruzione/distruzione oggetti ! Il GC non può scaricare la form se c’è bisogno Volendo si può precaricare da un background thread Al termine del Load della prima form Tips&Tricks/FormShow


Scaricare ppt "App.Path DevLeap.System.Mobile Magari OpenNETCF Reflection System.IO"

Presentazioni simili


Annunci Google