Uno scambio di e-mail sugli esempi del mio libro su VB 2008

Con l’autorizzazione di Stefano (che non vuole essere citato anche con il cognome), pubblico uno scambio di e-mail tra me e lui su un problema che ha riscontrato nell’eseguire gli esempi del mio libro su VB 2008.

Non capisco ancora come mai lui non sia riuscito a utilizzare gli esempi così come sono, soprattutto per il fatto che è incorso in errori già nei primi esempi, quelli semplici senza particolari controlli visuali e senza particolari tecniche di programmazione (il classico “Hello World”…).

Comunque se qualcuno dovesse avere lo stesso problema, utilizzando VB 2005, con le informazioni incluse in questo “scambio” dovrebbe risolvere.

In ogni caso, può essere interessante la soluzione con la modalità di compilazione a riga di comando che in certi casi può essere molto utile.

 

1-Stefano) Buongiorno.
Intanto complimenti per il suo libro "Visual Basic 2008 spiegato a
mia nonna": il linguaggio è davvero "frendly" e i primi 4 capitoli sono
"volati" via velocemente…
Sono alle prime armi con la programmazione e mi trovo già in difficoltà:
ho scaricato e salvato (in C) i primi 2 file d’esempio ma non riesco ad utilizzarli.
Utilizzo un pc con Windows XP home ed sp3 e Visual basic 2005 express edition.
Come indicato nel suo libro ho modificato il file di soluzione con blocco note,
inserendo "…. ,Format Version 9.0", ma VB2005ExEd mi restituisce l’errore in
allegato (veda error1.jpg). Sono entrato nel file .vbproj ma non riesco a
capire cosa modificare: forse il progetto non è supportato da VB2005ExEd?
Devo necessariamente installare la versione 2008 express edition?
Eventualmente è possibile utilizzare il compilatore interno (vbc.exe)?
Grazie fin d’ora per le informazioni che potrà darmi.
Cordiali saluti.

2-Mario) Buongiorno!
Grazie per i complimenti, mi fa piacere sapere che i miei libri vengono apprezzati🙂
Venendo al problema, credo che dipenda dall’indicazione del Framework .NET 3.5.
Aprendo il progetto (per esempio il file Cap02_01.vbproj) si dovrebbero sostituire
tutte le voci "3.5" con "2.0", per esempio nei tag
"<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>"
oppure  in "<RequiredTargetFramework>3.5</RequiredTargetFramework>".
Mi sembrava di averli testati anche con VB 2005 e quindi mi appare strano di
vedere indicato il Framework .NET 3.5, ma evidentemente li ho modificati prima
della pubblicazione.Mi scuso per questo disguido…
In quanto alla versione di VB Express, consiglio vivamente a tutti di passare
alla versione 2008 perché contiene molte nuove caratteristiche molto interessanti.
Ovviamente è un requisito minimo indispensabile per fruire correttamente degli
esempi del libro.
Tra qualche mese uscirà la versione 2010, per cui ti consiglio (vivamente!) di
scaricare e di installare appena disponibile la versione Express in italiano
(verso Maggio-Giugno, credo).
Ho giusto ieri concordato con l’editore di partire con la scrittura del nuovo libro
su questa versione, per documentare tutte le novità che usciranno.
Colgo l’occasione per segnalare che il mio blog su VB T&T è chiuso e quindi si
può fare riferimento ai blog indicati qui sotto, in firma.
Fammi sapere se cambiando il riferimento al Framework .NET hai risolto…

3-Stefano) Non ho risolto.In allegato trovi i file così come li ho modificati.
Sbaglio in qc…ma cosa?
Ps.Il salto alle versioni più aggiornate mi costringerà a una sostituzione del pc
… e comunque la mia macchina è effettivamente piuttosto datata…
Grazie. Saluti.
[ allegato: Cap02_01.vbproj]

4-Mario) Mi sembra a posto e quindi non saprei proprio perché non si apre, anche perché di
solito bisogna cambiare solo il file di soluzione (.sln), mentre i file di progetto
restano uguali, se non ci sono delle caratteristiche relative a Framework diversi.
Potresti provare a creare una soluzione vuota, aggiungendo poi il progetto,
oppure creare un progetto e poi aggiungere i form dei miei esempi…

5-Stefano) Ok . Verificherò meglio anche negli altri file, altrimenti partirò da
progetti nuovi: ciò che è essenziale è "capire" il codice.
Se ci saranno sviluppi ti farò sapere, intanto ancora grazie della disponibilità.

6-Stefano) Ho provato a sostituire TUTTE le voci "3.5" con "2.0" modificando TUTTI
i file che compongono il progetto (li ho aperti ad uno ad uno, individuando per
ognuno di essi la voce 3.5 e sostituendola), ma la prova è fallita lo stesso.
Ho avuto un riscontro interessante perseguendo quell’altra strada, cioè quella
del compilatore interno a Windows. Attraverso esso sono riuscito a processare e
a ottenere il mio meritato "Ciao mondo". Ecco come ho fatto:
A) ho aggiunto nel file Form1.vb
come prima istruzione il seguente imports:
Imports System.Windows.Forms
Public Class Form1

AA) poi ho creato un file Compila.txt dentro la cartella contenente il progetto
allo stesso livello dei file vb
B) ho scritto le seguenti due righe dentro il file Compila.txt:
set PATH=%PATH%;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
vbc /reference:Microsoft.VisualBasic.dll,System.dll,System.Windows.Forms.dll /out:Form1.exe /main:Form1 *.vb
C) ho rinominato Compila.txt in Compila.bat
D) ho fatto doppio click su Compila.bat
Basta attendere qualche secondo:il compilatore, elabora e genera il file
Form1.exe
E) con un doppio click si avvia il debug e appare la message box di Ciao Mondo!.
Credo che le cose si spieghino più o meno così:
– Con la prima riga si dice a Windows dove andare a cercare il file vbc.exe
– Con la seconda si compilano tutti i file vb per farne un unico eseguibile Form1.exe.
– Con la direttiva /reference indichiamo al compilatore di includere le librerie
del VB.NET che stanno alla base di ogni eseguibile (quando compiliamo con l’IDE
ci pensa lui ad includerle) e la direttiva /main con la quale
specifichiamo quale è la classe che avvierà il programma..
Ho trovato diverse informazioni all’indirizzo: http//msdn.
microsoft.com/it-it/library/ms229597.aspx
e decisiva è stata una "dritta" passatami dall’amico Alessandro..
Per dirla tutta ho provato a processare altri esempi del libro: spesso la
procedura fallisce e le motivazioni mi rimangono più o meno sconosciute.
Forse questa è una modalità per utenti avanzati, oppure
per chi, per vari motivi, non può installare sulla propria macchina l’IDE.
Alla fine io sono passato alla 2008 express edition e per ora il mio vecchio PC
sta reggendo bene.

Pubblicato il 30 gennaio 2010 su Novità. Aggiungi ai preferiti il collegamento . Lascia un commento.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: