Monday, September 10, 2007 #

Come rinominare un file XAML e crashare felice...

Sto provando una cosa molto semplice e rimango perplesso.

Creo un nuovo progetto WPF con la Beta2 di Orcas. Di default il progetto mi viene creato con un file XAML già pronto, convenzionalmente nominato Window1.

Benissimo. Compilo ed è tutto ok (ce ne vorrebbe, a far fallire la compilazione di una pagina vuota). Tramite il "Solution Explorer" mi piazzo sul file .xaml e premendo F2 lo rinomino in... MyForm. Noto che in automatico viene aggiornato anche il nome del corrispondente file di "code behind", nel mio caso con estensione ".cs".

Peccato che facendo ripartire il programma, mi vada in crash Visual Studio!

EDIT: Sospettavo fosse per via che il nome della classe non viene cambiato (come da foto) ma in realtà neppure il nome della Window nel file XAML "segue" il nome del file, quindi non è questo il problema.

posted @ Monday, September 10, 2007 1:28 PM | Feedback (40)

Friday, August 24, 2007 #

Multitargeting ballerino

Gran bella cosa il multitargeting, anche perchè non avendo fortunatamente alcun progetto 1.0/1.1 da gestire, posso disinstallare tutto e tenermi soltanto l'egregia Beta2 di Orcas. Per quanto mi riguarda sono quindi abbastanza incline a considerarla la vera "killer feature" di VS.NET 2008.

Proprio considerata la sua importanza, rimango soltanto perplesso nel constatare come ancora una volta a Redmond si "divertano" a confondere un po' le acque, col risultato che se voglio cambiare la versione di riferimento del framework in un mio progetto C#, il pannello in cui si trova la voce di configurazione è quello "Application"

CS

Mentre se voglio fare la stessa cosa in un progetto VB.NET devo (dopo un momento in iniziale di comprensibile smarrimento) procedere nel pannello "Compile" e addirittura andare a inventarmi un click sul pulsante che apre le "Advanced Compiler Options"...

VB

Morale: mi trovo sistematicamente d'accordo che sarebbe sempre cosa "buona e giusta" tenere i piedi in entrambi i linguaggi per sfruttare il meglio dei due mondi, però se anche questi signori ci dessero una mano per non fare confusione!

Se siamo ancora in tempo prima di andare in Gold, io farei un pensierino nell'uniformare la cosa... o mi sono perso io qualche cosa?

posted @ Friday, August 24, 2007 12:09 PM | Feedback (242)

Friday, June 8, 2007 #

Katmai installato

E' stata una lotta abbastanza dura, ma alla fine la June CTP di SQLServer 2008 è installata e pronta sul mio XP Pro Sp2.

Per questa volta niente macchine virtuali, ho scelto di dare un po' di fiducia, disinstallando la mia versione Express di SQLServer 2005.
Parte l'installazione e subito cominciano i problemi: viene segnalata la presenza di una instanza attivia di SQL2000 e il setup si blocca (non è prevista, al momento, alcuna forma di esecuzione side-by-side).

Rimango perplesso: dal pannello "Installa/Disinstalla applicazioni" non pare ci siano altre istanze di sql sulla macchina.

Un giretto sui forum technet, e vengo indirizzato a rimuovere la chiave di registro HKLM/Software/Microsoft/Microsoft Sql Server/80, ma arrivato alla chiave mi rendo conto che ce ne sono ben altre, tra cui una che fa riferimento ad un misterioso MICROSOFTBCM.

Rapido "googling" in merito e scopro che si tratta del "Business Contact Manager" di Outlook, che evidentemente usa per i fatti suoi un'istanza di MSDE, e che effettivamente appare tra i miei programmi: soprattutto trovo il relativo servizio tranquillamente in esecuzione. La disinstallazione fallisce per regioni misteriose (e che a dirla tutta non mi interessa molto approfondire: vade retro Office!), però spegnendo il servizio è possibile rimuovere almeno le chiavi del registry,e a quel punto l'installazione di Katmai parte - e finisce - senza problemi. :-)

posted @ Friday, June 8, 2007 11:19 AM | Feedback (43)

Thursday, October 19, 2006 #

E si va al WPC!!!!!!

Gente,

 prima di tutto un grosso "COMPLIMENTI!" a tutte le persone coinvolte nell'organizzazione del workshop UGIDOTNET di ieri. Purtroppo mi perdo la seconda giornata, ma questi maledetti report di Access davvero non potevano aspettare...  :-(

E sopratutto... HO VINTO L'ISCRIZIONE AL WPC!!!! :-)

Che dire, una grande emozione... quel nanosecondo in cui realizzi che si sta leggendo proprio il tuo numerino, fra i tanti, è davvero incredibile.

Insomma, sono ovviamente carico e felicissimo, anche se ieri forse ero ancora troppo sconvolto dall'approccio "plug-in data layer" mostrato da Andrea :-)  e non mi sono prodotto in adeguate carambole frizzi e lazzi. Ad ogni modo, GRAZIE! Sfrutterò al meglio questa golosissima opportunità! E conto di sfruttare questo blog per qualche opportuno commento...

 

 

posted @ Thursday, October 19, 2006 11:02 AM | Feedback (32)

Tuesday, January 31, 2006 #

Passa che ti passa che ti passa...

Immaginate di avere un web service con i suoi bellissimissimi [WebMethod]s. Questi metodi chiamano il costruttore di una classe parte dell'object model "interno" che avete disegnato, il quale costruttore ha un parametro col quale valorizza un campo privato, che a sua volta è esposto tramite una proprietà con accessore get().

Tutto molto normale, no? L'avrò fatto decine (solo?) di volte... ma soltanto ieri mi sono fermato a pensare ad una possibile naming convention per "tracciare" sistematicamente un dato che viaggia all'interno della nostra architettura.

Intendiamoci, lo so che comunque la gestione dello scope è automatica ed efficiente, per cui in molti casi si potrebbe usare tranquillamente lo stesso nome, però... mi piacerebbe avere una mia codifica "parlante" che mi faccia capire al volo che tipo di dato sto maneggiando.

Personalmente l'unico formalismo che ho in testa e che rispetto è quello tra campi privati e properties. So che va per la maggiore approfittare della case-sensitiveness (ammesso che si possa dire...) di C# e scrivere iniziare le properties con la lettera maiuscola, ma personalmente mi piace premettere di data-type ai campi interni, per cui qualcosa del genere:

private String strNome

public String Nome

{

get { return strNome; }

}

E fin qui... ma quando entra in ballo il costruttore? Qui si che forse sarebbe "carino" far ricorso al nome tutto-minuscolo...?

public void MiaClasse(String nome)

{

 strNome = nome;

}

E se, come dicevo, questo costruttore deve venire invocato all'interno di un WebMethod che a sua volta espone il dato come parametro della propria firma?

Uhm... come diceva il mio ex-collega Giuliano: "l'affare si ingrossa!". C'è qualche lineaguida in merito? Voi come vi regolate? Sono pippe mentali tipicamente mie? :-O

 

posted @ Tuesday, January 31, 2006 2:10 PM | Feedback (42)

Friday, January 27, 2006 #

WinFX sotto la neve

Potenza dell'incontro di ieri in MS: mi sono reso conto che mi farebbe piacere, dopo un paio d'anni passati a fare disegnini Visio e mandare mail, tornare a pasticciare un po' "pesantemente" sul codice.

Per prima cosa, decido quindi di far (ri)nascere ufficialmente questo blog, che spero riuscirà ad affiancarsi stabilmente al mio blog "generalista" a cui siete comunque tutti invitati (http://ilmugugno.splinder.com).

Rapido commento sulla giornata di ieri: grandiosa! Personalmente credo che il materiale più impressionante sia stato quello presentato da Pierre... in effetti (essendo arrivato totalmente a digiuno su Indigo) non ho capito al 100% come automagicamente il web service si sia trasformato in "altro", però visto che ci ha sbattuto in faccia una intrigantissima demo live: non posso fare altro che richiudermi la mascella pendula e cominciare a scavare un po' più a fondo...

Molto interessante anche la session su WF, anche se forzatamente meno "spericolata", viste le novità portate dall'ultima CTP, e poi Dino Esposito è sempre un grandissimo comunicatore. Credo che sicuramente l'approccio a workflow sia importante per condividere più facilmente una certa vision tra personale IT e analisti funzionali e di organizzazione, che normalmente ragionano "per processi"... insomma in certi casi potrebbe essere davvero il classico uovo di Colombo, che permetterà di evitare molti equivoci e buchi funzionali.

La session su WPF (purtroppo causa neve ho perso la session di chiusura di Rialdi) oltre a essere "di impatto" come la tecnologia che illustrava, mi ha portato a riflettere su un dato che credo abbia connotato trasversalmente tutta la giornata: abbiamo scritto pochissimo codice!

Tutto dichiarativo, tutto disegn-time, editing via notepad di documenti XML (fossero XAML, XOML o .config)... per giungere poi al non plus ultra della demo di Sparkle: alla vista della timeline per le animazioni, un mormorio ha percorso la sala: "ma è uguale a Flash!".

Ora, sganciamoci pure dal caso concreto (d'altra parte Sparkle è dichiaratamente un prodotto per designers) però è vero che l'impressione complessiva è quella di una progressiva accumulazione di layer software, framework, ambienti IDE, eccetera... che sta gradualmente snaturando il nostro lavoro di programmatori e cambiando il panorama degli skill richiesti per la professione: tutto molto bello e molto "RAD", ma sicuramente diventa sempre più difficile coltivare il piacere di andare a scavare tra gli internals di tutti questi meccanismi, per capire davvero come funziona un certo giocattolo. Siamo forse destinati a diventare utilizzatori sempre più inconsapevoli dei nostri strumenti, come un Office-user qualunque? :-)

 

posted @ Friday, January 27, 2006 11:10 AM | Feedback (53)

Friday, November 21, 2003 #

Presentazione...

AAAAARRRRGGGGHHHHHH...!!!

Adesso capisco cosa prova uno scrittore preda del famoso "panico da pagina bianca"..! Vogliamo forse negare l'esistenza del sua forma mutante, tipo "panico da blog vuoto" ?

Visto che comunque l'importante è rompere il ghiaccio in qualche modo, adesso mi sento più sciolto e passo (con la celerità che questa infame tastierina da 2€ mi consente) ad inaugurare ufficialmente questo ".NET Blog per comuni mortali".

Per fare i bloggers serve pure un pochino di presunzione, di quella "buona" intendiamoci, però insomma bisogna almeno confidare di avere qualcosa di interessante da dire.

Ora, vedendo i Blog "mostruosi" che fioriscono in questa comunità uno sviluppatore normodotato come il sottoscritto potrebbe anche decidere di ritirarsi in buon ordine e stare alla finestra. D'altra parte, credo che sia giusto onorare lo sforzo fatto per allestire questo strumento ed inoltre la tentazione di lasciare una traccia imperitura dei miei tormenti tecnico/filosofici è praticamente irresistibbbbile!  :-)

Se cercate quindi clamorose anteprime o il basso-livello-che-più-basso-non-si-può, i'm afraid, ma questo blog non è sicuramente qualificato, dal momento che il 90% del mio tempo se ne va nel cercare di far capire ai Clienti quello di cui hanno bisogno e soltanto il 10% mi vede in giro a curiosare tra le meraviglie del Framework!

 

magomerlano

posted @ Friday, November 21, 2003 3:22 PM | Feedback (53)

Copyright © Matteo Merlano

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski