Newsgroup: it.comp.lang.visual-basic
Titolo: Cosa c'è in VB6

Mi è arrivata la Candidate Release di Visual Studio 6 (presentazione
ufficiale a settembre, come sapete) e naturalmente non ho resistito alla
tentazione e ho installato il VB6.
Anzitutto devo dire che mi sembra una versione abbastanza di consolidamento,
dopo le rivoluzioni di VB4 e 5, con due eccezioni (prevedibili): lo sviluppo
di applicazioni Internet su piattaforma Microsoft e le tecniche di accesso
ai dati che si basano su ADO 2.0 (naturalmente RDO e DAO ci sono ancora).
Inoltre ci sono una miriade di affinamenti, controlli nuovi, potenziamenti
dell'ambiente di sviluppo, Wizard ecc.
Confermando i timori di Domenico Statuto di qualche giorno fa, i Common
Controls ora risiedono in un OCX a parte e non vengono più esposti (per
default) quelli della comctl32.dll; però c'è una versione degli OCX vecchi
(che Microsoft consiglia di usare solo per Backward Compatibility).
Una lista dei nuovi Common Controls comprende
File Control, TreeView, ListView, ProgressBar, Slider, ImageList, Toolbar,
TabStrip, StatusBar, ImageCombo, Animation, UpDown, MonthView,
DateTimePicker, FlatScrollBar.
Tutti i controlli del VB6 sono variamente migliorati (
p.es
. ci sono le
Listbox a colonne e le Combo con le icone) ed espongono nuovi eventi,
metodi, proprietà: 
p.es
. tutti hanno un evento Validate nel quale è
possibile fare i controlli di validazione e ridare il focus al controllo
prima che questo finisca altrove (vedi il problema dei giorni scorsi del
Pestatasti Scroccaccount :-) ).
Un'altra cosa, che mi ricordo è stata chiesta poco tempo fa, e che c'è in
VB6 è la possibilità di chiamare le proprietà di un oggetto mettendo il nome
della proprietà in una variabile stringa.
Tralasciando per il momento lo sviluppo di applicazioni per Internet (ci
sono progetti che producono applicazioni IIS4 e DHTML, ma in un paio d'ore
non potevo mica guardare tutto, no?), una grande differenza l'ho trovata
nelle tecniche di accesso ai dati e negli strumenti relativi:
-ADO da tutte le parti :-)
-Compreso naturalmente un ADO Data Control
-Un'estensione all'ambiente nomato Data Environment dove poter creare
interattivamente oggetti ADO settarli, testarli, affinarli e farci il caffè
(una specie di UserConnection Designer degli RDO di VB5 Enterprise ma
elevato al quadrato)
-Possibilità di creare classi che siano Data Sources (come i Data Control di
MS) o Data Consumers (come i vari DbCombo, DbList ecc.)
-Possibilità di passare con facilità recordset ADO tra processi diversi
della stessa macchina o tra macchine diverse
-Il controllo DataRepeater che funge da contenitore di altri controlli
(Textbox, Combo, Check ecc.) ma rappresentando una vista logica di un
database (un po' come le form di Access)
-Il controllo Hierarchical FlexGrid (oltre alla Flex normale), e già il nome
è tutto un programma...
-Supporto automatico, nel Setup Wizard, per l'installazione di ADO, OLEDB,
ODBC, RDO e DAO
-Un altro paio miglioramenti solo per la versione Enterprise: Visual
Database Tool Integration (Query Designer e Database Designer), SQL Editor
per la creazione di stored procedure o trigger su Oracle e Sql Server.
Per finire una notizia già in parte anticipata e che forse farà la gioia di
molti: nella Candidate Release non c'è traccia del Crystal Report.
E' stato sostituito da un Report Designer che ricorda molto quello di Access
(però non ci sono tutti i pulsanti, le checkbox ecc.) e, se non vado errato,
molto simile all'Active Report di DataDynamics.
Questa è una breve panoramica delle novità che ho visto; naturalmente quanto
bene vada il VB6 ancora nessuno lo sa (forse nemmeno Microsoft), tantomeno
il sottoscritto.
In attesa di farci qualche provetta, se avete qualche curiosità sono a
disposizione.
Ciao,
   <--< Nik >-->
Per rispondermi in E-Mail togliere "deleteme" dall'indirizzo.
To reply me by E-Mail remove "deleteme" from my address.

 disposizione.
Infatti, come immaginavo non compila.... :-(=
Ciao,
Roberto

salve,
mi bruciano alcune domande,
puo' coesisere vb6 con vb5 sulla stressa macchina???
che databound grid viene fornito??
il datacontrol c'e' ancora?? e' utilizzabile con ADO o bisogna servirsi di
quello di ISG??
grazie
Andrea Montanari
hs...@guest.net

quello di ISG??
Ci sono tre controlli Data: un DataControl intrinseco e un Remote Data
Control per DAO e RDO che sono quelli che già c'erano in VB5, oltre ad un
ADO Data Control fatto apposta per ADO 2.0. Quello di ISG quindi non è
necessario.
Oltre a ciò, magari partendo dall'ADO Data Control, si possono creare propri
controlli Data Sources.



Ad essere precisi, non lo fa neanche VC++ (il runtime del C e' in DLL ed
usualmente uno usa la versione DL di MFC...) Per fare un eseguibile
stand-alone, dovreste creare a mano (con C++ e MASM) gli obj delle parti di
runtime che vi servono e linkare tutto assieme. Lo fa forse qualcuno? spero
di no ;-)
Ma spiegatemi un po', visto che tanto un setup va fatto... metterci una DLL
in piu' oppure in meno cosa costa? Tanto un download in 5 minuti di
un'applicazione VB e' impossibile (anzi, ormai bisogna partire dal pricipio
che ci vuole un CD-ROM).
Ciao!!!
Alessandro Coppo
a.c...@iol.it
www.geocities.com/SiliconValley/Way/8111/


Beh, non so se hai visto i prodotti Borland (Delphi e C++Builder), con
quelli potresti fare:
1) EXE di 30KB + DLL   (piu' o meno come fa VB)
2) EXE di 180KB e basta (senza bisogno di 1.5MB di DLL come in VB)
Ammetterai che la soluzione 2 e' di gran lunga piu' "contenuta" (certo, ci
sono casi in cui e' conveniente la soluzione 1, ad esempio in un pacchetto
di tante piccole utility la DLL e' una sola condivisa).
--
Roal Zanazzi
z...@iol.it

di tante piccole utility la DLL e' una sola condivisa).
(Mi scuso anticipatamente della prolissitа)
Effettivamente, uno dei pregi di Delphi и quello che ti da la SCELTA se
installare tutto dentro l'eseguibile o meno. Questo con il VB non succede.
D'altro canto mi stupisco come ogni versione nuova di VB che esce, ci sia
sempre la speranza che compili gli EXE autonomi. Questo non avverrа mai,
punto.
Basta guardare le ultime release dove stanno portando: tutti gli sforzi sono
incentrati su una maggiore componentizzazione, come la possibilitа di creare
ActiveX DLL e OCX o l'orientamento verso applicazioni multi-tier con
componenti mandati in esecuzione su altri computer della rete introdotti in
VB5, ed altre novitа presenti in VB6.
Questo avviene seguendo una precisa filosofia che и quella che IMHO sta alla
base del sistema operativo Windows; e la M$, nel VB, costringe (e sottolineo
*costringe*) i suoi sviluppatori a seguirla per due motivi principali:
1) Perchи afferma sempre di piщ il suo sistema operativo e comunque lega i
prodotti all'architettura da lei sviluppata; leggi guadagna piщ $$$
2) Perchи ci crede; e questo и evidente in tutti i suoi prodotti, 
p.es
. in
Office una gran parte del codice и condiviso tra le applicazioni che lo
compongono. Addirittura in Office 2000 ci sarа un unico prodotto a fronte
delle molte decine di pacchetti nazionalizzati attualmente esistenti e tutto
sarа legato ad opzioni di personalizzazione. Ciт non puт essere fatto se non
disponendo di una solida architettura a componenti.
Se desiderate un tool di sviluppo che compili EXE autonomi, non usate VB.
A questo proposito mi sembra anche molto strana la posizione di alcuni amici
del newsgroup circa il fatto che sarebbe sconveniente usare gli OCX dove non
strettamente necessario. E perchи mai? Ma se il VB и fatto apposta per usare
gli OCX!!
Un conto и dire, come fa Domenico Statuto, che per quello che vedo sul
newsgroup e su CCRP и un programmatore che comincia ad avere le palle
quadrate (N.B io NON lo sono), che lui si diverte a usare le chiamate alle
API piщ complicate.
Se si diverte, fa bene a fare cosм; non mi sembra piщ strano di chi si
diverte ad arrampicarsi sulla cima delle montagne.
Quando il divertimento diventa lavoro, allora secondo me la cosa cambia; se
usi il VB devi sposare la filosofia dei componenti riutilizzabili, se no usa
qualcos'altro.
Sarebbe come usare un martello per pitturare le pareti o un pennello per
piantare i chiodi. E' vero che se ti scappa di piantare un chiodo e hai solo
il pennello, ti ingegni; usi il manico, i rinforzi di latta, speri di aver
comprato un bel pennello robusto e alla fine riesci anche a piantare un
chiodo (pitturare col martello la vedo giа piщ dura :-) ), perт non и
possibile farlo sistematicamente.
Secondo me il VB и lo strumento per eccellenza per creare rapidamente e
riutilizzare oggetti e componenti; il problema non и tanto nell'uso
dell'OCX, ma nel codice che l'OCX contiene.
Se io mi scrivo delle funzioni che mi servono e poi le metto in una DLL,
nessuno mi dice niente; se le incapsulo in oggetti e le metto in un'ActiveX
DLL (o magari EXE cosм le mando in esecuzione sul server nell'altra stanza)
giа qualcuno comincia a storcere il naso perchи non sono DLL "vere"; se poi
ne faccio un OCX, apriti cielo!
Ma sono sempre le stesse funzioni, buone o cattive che fossero all'inizio
(vabbи, con un po' di overheads aggiunti, ma direi che in Windows non siamo
noi a doverci preoccupare di questo; sarebbe come, capovolgendo l'esempio
biblico, togliere la pagliuzza dal nostro occhio e non vedere la trave
nell'occhio di Bill & Co.).
IMHO, la cosa importante и "solo" quella di valutare se il codice che
scriviamo и buono o cattivo.
A questo proposito ho visto che tu ma anche altri amici di ICLVB, tendete ad
attribuire un significato quasi mistico al termine "programmatore".
Quasi fosse necessario chissа che cosa per entrare a far parte di questo
ristretto circolo, cento volte piщ esclusivo del Sacro Ordine della
Giarrettiera, dieci volte piщ inarrivabile del titolo di Cavaliere della
Tavola Rotonda. ;-)
Secondo me un programmatore и uno che dice al computer di fare delle cose
utilizzando un linguaggio piщ o meno complicato; in questo senso (ebbene
si!) esistono anche i programmatori HTML.
Poi, naturalmente, ci sono programmatori che fanno cose difficili e sono
bravi, e programmatori che fanno cose facili o sono scarsi o alle prime
armi.
E' un po' come fare il pittore (scusate ma sto pensando di cambiare casa e
quindi mi vengono solo esempi del genere :-)) ) che и un'altra attivitа con
dei costi di ingresso molto bassi: c'и chi и in grado di fare uno spatolato
veneziano a regola d'arte o di lavorare sul muro di un edificio d'epoca
(perchи ha fatto corsi di restauro ecc.) e chi ha comprato una scala, un
secchio e qualche pennello e sa solo passare della tempera bianca sui muri.
Anche tra i pittori bravi, ci sono quelli che sanno fare tutto e quelli che
si sono specializzati in alcune cose.
Se io guardo sulle Pagine Gialle, perт, li trovo tutti insieme: bravi e non,
specializzati o completi. Se perт ho bisogno dello spatolato dovrт
sceglierne uno che lo sappia fare.
Ma non ho mai conosciuto un imbianchino che dicesse "io si che sono un
pittore; non quello lа che
che sa solo passare del bianco sui muri!"; magari dirа "io sono piщ bravo".
Quindi accettiamo che chi programma un computer sia un programmatore. Potrа
poi essere bravo o scarso, con voglia di imparare e migliorare oppure no;
questo non dobbiamo deciderlo noi, ma il cliente, che compra e vuole che
quello che compra valga il prezzo pagato.
Soprattutto non aspettiamoci da VB le cose che non farа mai, tanto и
evidente che sta andando da tutt'altra parte.
Se non ci sta bene dove sta andando, non credo che potremo influire molto
sulla strada presa da M$; allora magari usiamo Delphi.
Non sarа certo la scelta "giusta"; solo quella che risponde meglio alle
nostre esigenze.


 
Condivido completamente l'esposizione del tuo pensiero, specialmente
nell'ultimo paragrafo che esprime in maniera sintetica ed a mio avviso
appropriata la filosofia di VB.
FogOnTheSea


Beh, se il "programmatore" in questione deve lavorare ad un progetto di cui
tu sei il project manager, ed e' scarso, questo LO DEVI decidere tu, dato
che hai la responsabilita' anche del suo lavoro.
--
Roal Zanazzi
z...@iol.it

che hai la responsabilita' anche del suo lavoro.
Se sei project manager con carta bianca, budget illimitato e il cliente
vuole il prodotto nel 2005 allora FORSE si. Se no, ci sono cose che non puoi
decidere neanche se sei project manager, ma che discendono ineluttabilmente
dai tempi di consegna richiesti, dai soldi e dalle persone a disposizione in
quel momento.





...


attribuire un significato quasi mistico al termine "programmatore".
Piccola parentesi umoristica. Chi volesse sapere chi e' "il vero
programmatore" vada su 
http://members.xoom.com/mcarnazzo/hprog.html
Da questo scritto si deduce che il vero programmatore NON programma in
Visual Basic, ne' tantomeno usa Windows.
--
Marco Vincenzo Carnazzo
http://members.xoom.com/mcarnazzo/
Informazione gratuita. Il Dio da lei selezionato e' inesistente.

 
Avete dato un'occhiata sul Sito Comune (vedi qui sotto), c'e' un esempio sia per le icone nei menu (ma non in stile '97) e un
esempio per le toolbar con i tasti piatti.
-- 
Hi, Ciao
Ettore                 By -MES-
http://freeweb.aspide.it/freeweb/ilmes
Il sito comune di programmatori VB
http://members.xoom.com/it_lang_vb

 esempio per le toolbar con i tasti piatti.
Ops, non mi ero accorto che il thread era quello del VB6,   :-(
In questa stanza fa un caldo boia, sara' quello  :-))
Ciao Gente  :-)
