Bizza di VS.NET 2003

Posto il mio ultimo post della giornata e della settimana (5 post in un giorno, sto diventando blog...orroico pure io Smile che strizza l'occhio)

Me ne sono accorto questa mattina mentre testavo l'Emoticon Formatter... la solution che usavo era composta da 17 progetti, una era il setup:

  • Se facevo "Build solution" mi compilava tutti e 16 i progetti
  • Se facevo direttamente "Play" me ne compilava solo 13 (e non compilava il mio EmoticonFormatter)

Sulle proprietà della solution non ho trovato delle impostazioni specifiche per quando si fa "play" e per quando si fa "Build Solution"... io ho sempre pensato che fosse la stessa cosa, invece a quanto pare non è così... oppure è un baco di VS.NET. Smile

E con questo dilemma vi lascio e vi faccio ancora gli AUGURI DI NATALE.... tanto io sono qui ancora lunedì 27. Smile arrabbiato

powered by IMHO

Web Upload progress bar: aggiornamento

Come dicevo ieri, ho fixato il problema con il SlickUpload, cioè il fatto che non era possibile prendere i file dal nome del campo del form... E' un po' un'accrocchio, però funziona... in attesa che Chris Hynes inserisca il nome del campo tra le proprietà dall'UploadedFile.

Inoltre ho implementato una bella progress bar che mostra l'avanzamento dell'upload, con velocità e tempo stimato.

Scarica qui il file dell'applicativo

powered by IMHO 1.1 with Emoticon Formatter

Emoticon Formatter: rilasciata la versione 1.1 beta (1.1.1819.21075)

Quasi due settimane fa avevo rilasciato la CTP, lasciando un po' di cose in sospeso, tra la quali anche il non funzionamento con la nuova versione 1.1 beta di IMHO... (ovviamente ora potrebbe non funzionare più con la 1.0)

Ora è disponibile la versione 1.1 beta, sia come binario che come sorgente (se qualcuno vuole vedere).

Installazione

L'installazione rimane uguale a quella della volta scorsa, e ancora non c'è un readme.txt nel package Smile che strizza l'occhio

Per installare il plugin è sufficiente estrarlo nella root della vostra installazione di IMHO, in modo che tutti i files vadano per conto loro nella loro cartella di destinazione

Per chi non si fidasse i file sono 3:

  • com.piyosailing.IMHO.Emoticon.resources.dll: va nella cartella appdir\en-US ed è il satellite assembly con le risorse in inglese

  • com.piyosailing.IMHO.Emoticon.EmoticonFormatter: va nella cartella appdir\formatters\Emoticon ed è l'assembly principale del plugin

  • emoticons.xml: va nella cartella appdir\formatters\Emoticon\icons ed è un file d'esempio con l'elenco delle icone prese dal sito di help della MS

Known Issues

Non ho provato a farlo andare con la 1.0, e potrebbe non andare (anzi, probabilmente non andrà Smile imbarazzato)

Release Notes

Ho sistemato tutti i TODO che mi ero imposto la volta scorsa, cioè:

  • c'è un tasto nel pannello di configuazione per forzare il refresh delle icone
  • al cambio del file di configurazione vengono scaricate le icone
  • lo scaricamento è gestito in un thread separato, così non si blocca più niente, e riesco anche a fare un bella progress bar Smile con occhiali da sole, sia nel pannello di configurazione che la prima volta che si apre l'emoticon formatter nell'inserimento di un post

TODO

Sicuramente capire come fare i bottoni XP-Style (la progressbar è già XP-Style, ma non capisco perchè gli altri bottoni non lo siano).

Poi devo sistemare il codice, con dei commenti fatti bene, e anche con la documentazione XML, e mettere tutti i vari file accessori vari (license, readme.txt, ecc...)

Poi attendo un feedback da voi su quali feature potrei inserire per migliorare il formatter...

Licenza d'uso

Nonostante abbia rilasciato il codice sorgente, non ho ancora provveduto a inserire i vari commenti, cmq il tutto è rilasciato con licenza GPL...

powered by IMHO 1.1

Control.Invoke e "manipolazione" di controlli da thread differenti

Per l'Emoticonformatter per IMHO (del quale spero di rilasciare la versione nuova in giornata) stavo cercando di modificare una finestra (aggiungendo dei picturebox e ridimensionandola) alla fine dello scaricamento di tutte le icone.

Questa volta ho aggiunto un bel thread per gestire lo scaricamento... ma il problema era proprio qui: l'handler dell'evento che alzavo alla fine dello scaricamento veniva eseguito nel thread usato per lo scaricamento, e non nel thread che disegnava la form e dal quale era stato lanciato lo scaricamento, quindi, veniva una bella eccezione "I controlli creati su un thread non possono avere come elemento padre un controllo su un thread diverso."

Cercando su Google ho trovato un post di Eric Gunnerson che spiega come fare:

private void Current_RetrieveComplete(object sender, EventArgs e) 
{
    
if(InvokeRequired) 
    {
        Invoke(
new EventHandler(Current_RetrieveComplete), new object[] {sender, e});
    }
    
else 
    
{
      ... esegui il codice
    }
}
    
Cioè chiedi al controllo di eseguire il codice nel thread corretto... Smile

E sembra che questa ricetta dell'Invoke per chiamare la stessa funzione vada bene sempre Smile con occhiali da sole

Magari è un argomento straconosciuto a tutti, ma non lo era per me che ho sempre fatto solo web application... ogni giorno si impara qualcosa di nuovo.

Entro fine giornata sicuramente una nuova verione dell'Emoticon formatter (che ha come miglioria solo il thread separato per gestire lo scaricamento... e una bella progressbar per mostrarne l'avanzamento) compatibile con la 1.1 beta sarà rilasciata.

powered by IMHO

Merry Christmas and Happy New Year



 

Merry Christmas and Happy New Year

I miei migliori auguri per un Felice Natale e per uno splendido inizio di 2005!!!

Simone

Già che ci sei, scarica Firefox... il tuo 2005 sarà migliore www.getfirefox.com

Web Upload Progress Bar

Mi sono imbattuto in una problematica interessante, cioè quella di realizzare un progress bar per indicare lo stato di avanzamento dell'upload via web.

Sfortunatamente non è facile da implementare come in ASP e Java: il Framework nasconde completamente il processo di upload e di decodifica del post (quando arrivail Page_Load tutto il file è già in memoria del server)

Per fare una cosa del genere bisogna creare un HttpHandler e salvare da qualche parte (in una hashtable o similare) lo stato di avanzamento dell'upload, in modo da poterlo leggere da una pagina che si aggiorna e scrive l'avanzamento.

Avendo solo 2gg per implementare questa cosa mi sono rivolto a Google... :-)

Purtroppo non c'è granchè in giro per ASP.NET. Qui sotto i progetti OpenSource che ho trovato, con un breve commento...

  • SlickUpload: gestisce bene quasi tutto, usa sia la memoria che il filesystem durante l'upload (quindi saturando meno la memoria in caso di upload larghi), ha il problema che non è possibile capire il nome del campo del form dal quale proviene il file
  • Electric Progress Bar: non so, dovrebbe funzionare, ma dopo 2 ore a cercare di farlo funzionare non sono riuscito a far partire la progressbar di avanzamento, sicuramente è un problema di configurazione
  • FileUploadProgressBar su Code Project: non va, mostra il tempo che il server impiega a salvare il file dalla memoria al disco... non so come possano aver postato un'articolo così sbagliato
  • ABCUplad.NET: è l'unico che non ho ancora provato, perchè è a pagamento, ma se non riuscirò a far andare come mi serve il SlickUpload... devo pensarci... costa 2500$ per la versione site-wide

La cosa più probabile è che cercherò di sistemare il SlickUpload per vedere se si riesce a recuperare i nomi dei campi.

powered by IMHO

«dicembre»
domlunmarmergiovensab
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678