Ormai la cadenza della newsletter sta diventando tri-settimanale. Spero di migliorare in futuro e ritornare a due numeri al mese. Devo anche dire che non ho ricevuto praticamente nessun contributo: non avete niente da suggerire?
* Borland ha attivato un news server, ovvero un’area di discussione aperta a tutti, su cui si spostera’ il TeamB, un gruppo di volontari che prima rispondeva alle domande sui prodotti Borland sui forum Compuserve. Puntate il vostro newsreader su news.borland.com, o leggete come fare su www.boralnd.com. Immagino che questo segni la sostanziale scomparsa delle aree su Compuserve, i cui costi dovrebbero anche aumentare!
* Delphi 3 sta ormai avendo larga diffusione, e ricevendo commenti positivi dalla stampa. Forse commenti ancora piu’ positivi si registrano su Delphi/400 ovvero il collegamento di Delphi con l’AS/400 di IBM.
* Borland ha reso disponibile IntraBuilder 1.5.
* Dovrebbe uscire in autunno una versione "Enterprise" di Delphi, ma se ne sa ancora poco.
* E’ partita una fase di beta testing ristretta di JBuilder, l’ambiente Java di Borland. Il prodotto non uscira’ molto presto, sembra a causa di gravi problemi nell’ambiente JDK 1.1, su cui si appoggia.
* A proposto di Java, ho pubblicato un articolo un po’ sarcastico che e’ sul numero di Giugno di Computer Programming... ed ha ricevuto commenti sia molto positivi che caustici!
Sembra che soprattutto le sezioni relative a Delphi abbiano raccolto un buon numero di persone, ma c’e’ sempre tempo per iscriversi!
Un gruppo piu’ ristretto (ma ce’ ancora posto) potra’ seguire il venerdi’ successivo il seminario di mezza giornata sul tema "Programmazione a oggetti con Delphi" che terro' io. Si tratta di un approfondimento sull'uso dell'OOP in Delphi, considerando che molti programmatori Object Pascal non sfruttano che minima parte delle potenzialita' del linguaggio che hanno a disposizione. Ad esempio: quante volte avete aggiunto una proprieta’ ad una form? Mai? Allora questo seminario e’ per voi!
Altre iniziative si annunciano per l’autunno. Infomedia sta organizzando una grande conferenza per tutti gli sviluppatori italiani per fine novembre.
Ma, nel mio piccolo, anch’io penso di riprendere i seminari e le giornate di domande e risposte con due iniziative verso meta’ settembre e meta’ novembre, almeno in linea di massima (visto che bisogna evitare le date dello SMAU e di altre iniziative). Vi terro’ aggiornati, anche su un’altra iniziativa collegata che ho in cantiere.
* Using Delphi 3, di autori vari (editore: QUE), mi sembra meglio delle edizioni precedenti, ma mi entusiasma solo in parte. E’ scritto da una decina di autori, non tutti all’altezza. Poi e’ il diretto concorrente del mio "Mastering Delphi 3"...
* Developing Custom Delphi 3 Components, di Ray Konopka (editore: Coriolis), e’ decisamente un ottimo libro, cosi’ come lo era il suo predecessore. Ray non ha riscritto tutto, anzi meno di quanto mi aspettassi, ma la parte finale e’ stata rivista, e per chi ha apprezzato il primo volume l’acquisto di questo nuovo testo mi sembra molto interessante.
* Borland C++Builder Unleashed, di Charlie Calvert (editore: SAMS), mi sembra finora il libro migliore su C++Builder (non che ne siano usciti molti, ma tutti gli altri non mi sono piaciuti molto). Anche se e’ una trasposizione di Delphi Unleashed, molte parti sono state modificate in modo da far risaltare le caratteristiche del nuovo ambiente. Se siete interessati a C++Builder puo’ essere un buon acquisto.
I prezzi sono al solito tutti stratosferici, 50 dollari i primi due volumi e 60 il terzo. Beh, non e’ che il mio costi molto meno...
Il tip dell’altra volta conteneva un errore (mancava lo Shift):
Tip#1: All'interno dell'editor, premendo Ctrl+Shift+G viene generato un nuovo GUID.
Ci sono dei libri con un po' di informazioni, ma un bel libro completo non l'ho ancora visto. Forse il migliore ad oggi e' quello di Henderson (pubblicato da SAMS nella collana Borland press). Qualcuno ha altri suggerimenti?
6.2 >> Cosa ne pensa della versione di Delphi per As/400?<<
Ne so ben poco. Potresti rivolgerti a Guido Salvestroni (www.borita.it) uno dei pochi che ha provato i vari componenti in italia.
6.3 >> vorremmo sapere come e' possibile utilizzare un componente (ad esempio un bottone) non disegnato su di una form ma solamente dichiarato nel codice. <<
Si puo' creare un componente run-time con questo codice (all'interno di un metodo di una form, magari FormCreate):
var B: TButton; begin B := TButton.Create (self); B.Parent := self; B.Caption := 'Premi'; B.Top := 10; B.Left := 50; B.OnClick := ButtonClick;ButtonClick deve essere un metodo della form, aggiunto a mano, e con un parametro di tipo (Sender: TObject). Poi dovete scrivere il codice di questo metodo , come al solito...
6.4 >> All'interno del thread verrebbero effettuate principailmente query su TQuery create dinamicamente e alla fine l'aggiornamento dell'interfaccia utente. <<
Se vuoi avere una query in un thread devi impostare un accesso autonomo al database, utilizzando un componente TSession specifico.
A presto...
Mentre vi invio la nuova newsletter (un numero abbastanza lungo) vi segnalo che sta prendendo forma "Delphi&Dintorni Professional", un servizio a pagamento di informazione ma soprattutto di incontro tra gli sviluppatori Delphi italiani. Strutturato come uno user group, il perno del nuovo servizio di Wintech Italia saranno giornate di domande e riposte (Delphi Jam Session) e seminari di approfondimento con esperti anche internazionali. I dettagli saranno resi noti entro la fine dell'estate. La prima iniziativa probabilmente a meta' settembre.
* Borland ha annunciato di aver raccolto finanziamenti cospicui (25 milioni di dollari) per finanziare ricerca e sviluppo di prodotti. Mi sembra un segnale di fiducia dal mercato finanziario (anche se sono un po' ignorante in materia).
* Domenica prossima, alla conferenza Borland di Nashville, Borland annuciera' le linee strategiche per i prossimi tre anni. Le informazioni dovrebbero essere disponibili subito sul loro sito Web, ma vi mandero' un resoconto dettagliato al piu' presto. (Infatti sono alla conferenza dove terro' 4 presentazioni.
* DFL Software (produttore dei componenti LightLib e strumenti per AS/400) e SuccessWare International (produttore di Apollo e altri tool) si sono fuse in una nuova societa', "Luxent Development". Manager e sviluppatori sono rimasti nella nuova societa', con ruoli solo leggermente modificati.
Che dire di piu'? Beh, se avete suggerimenti e idee per questo tipo di iniziative fatemelo sapere al piu' presto, visto che ci sono gia' nuove iniziative in cantiere.
"The first version of Midas tends not to emphasize placing complex logic on the application server, but rather favors putting it on the database server in the form of stored procedures, triggers or views, or else on the client, in the form calculated fields, lookups, etc. There is nothing to prevent you from running a calculated field or a lookup on the application server, but this logic will not be reflected on the client. In other words, if you create a new field on the application server via a calculated field it will not cause any harm, but neither will it be downloaded to your client. There are, however, other types of logic that you can place on the application server. "
Il ragionamento finisce indicando che una futura versione di Delphi potrebbe contenere un supporto piu' esteso per il livello internedio.
* Togliere il data module dalla lista dei forms creati automaticamente all'avvio
* Aggiungere all'evento OnCreate del data module la riga seguente:
Name := 'dm_' + Owner.Name;* Nei forms che fanno riferimento al data module, aggiungere una variabile nella sezione implementation:
var dm: TdmDati; // se il data module si chiama dmDati...* Quindi nell'evento OnCreate aggiungere
dm := TdmDati.Create(Self);* E ovviamente nell'evento OnDestroy aggiungere
dm.Free;* A questo punto, se si devono chiamare metodi o accedere a elementi e proprieta' del proprio data module, utilizzare la variabile dm:
dm.tbTabella1.First;In questo modo si possono avere piu' finestre aperte contemporaneamente che si riferiscono ai dati di una stessa tabella senza che, ad esempio, cambiando record in una si sposti anche l'altra.
Ora, come fare in modo, invece, che una nuova form faccia riferimento ad una istanza del data module gia' creata precedentemente (ad esempio perche' la nuova form è modale, o e' un report e la form sulla quale si basa ha creato dei filtri o settato dei parametri per il report stesso)? Semplice, basta creare un nuovo constructor nella finestra 'figlia' cosi':
constructor CreateWithDM(AOwner: TComponent; d: TdmDati); begin inherited Create(AOwner); dm := d; RedirectFixupReferences(Self, 'dmDati', dm.Name); end;dove dm è la solita var creata come prima.
ATTENZIONE, in questo caso non cercare mai di accedere al data module tramite la variabile dm nell'evento OnCreate della finestra 'figlia' perche' tale evento viene chiamato PRIMA di aver settato correttamente tale variabile (e anche prima di aver aggiornato le referenze ai data controls presenti nella finestra...
Adesso, invece di chiamare Create per creare la finestra, si puo' usare CreateWithDM passandoci anche il data module da referenziare, esempio:
procedure TfrmClienti.btnElencoClientiClick(Sender: TObject); begin with TrptElencoClienti.CreateWithDM(Self, dm) do try rpt.Preview; // rpt è un TQuickRep finally Free; end;in questo caso il report 'eredita' il datamodule del form frmClienti (che potrebbe avere già un filtro settato o cose del genere...)."
"Non e' su Delphi, ma ti assicuro che non vedrai piu' i programmi allo stesso modo dopo averlo letto! E' davvero una scossa elettrica sul modo 'da programmatori' con il quale io e molti altri 'progettiamo' l'interfaccia dei nostri programmi... da non perdere!"
A: Io di Interbase non ne so piu' di tanto... se qualcuno che si sente esperto volesse spendere un po' di tempo per rispondere vi metto in contatto...
* Q: C'e' la possibilita' di tradurre in italiano i testi dei pulsanti delle funzioni MessageDlg... ed altri eventuali? Nelle versioni precedenti era sufficiente modificare i files .res ma in questa versione, soprattutto con i package, non riesco a fare modifiche di sorta. Come posso fare ?
A: Non credo Borland abbia rilasciato un nuovo language pack. Per la traduzione in italiano dei messaggi si può comunque usare il Resource Workshop e agire sull'eseguibile (o sui runtime package). Ma per il linking statico il vecchio approccio di traduzione dei file res dovrebbe funzionare ancora. Commenti di chi ha gia' fatto una traduzione?
* Infine una segnalazione:
Sono un programmatore alla ricerca di altri programmatori in Delphi che sono interessati allo sviluppo di applicazioni Windows che utilizzano grafica 3D e in particolare OpenGL, per scambio idee e notizie tecniche su OpenGL.
Riccardo Mariotti - Ferrara (Italia) E-mail: r.mariotti@estense.global.itA presto...
Tra poco su: "www.marcocantu.com"
Vi scrivo questo nuovo numero di Delphi&Dintorni dagli Stati Uniti, dove e' appena terminata l'ottava Borland Conference, tenuta a Nashville (Tennessee). E' in pratica il resoconto.
L'inizio e' stato segnato da un video ispirato a Guerre Stellari in cui i personaggi erano i responsabili di Borland, e il cattivo Bill Gates (impersonato da David Intersimone). Difficile fare un resoconto dettagliato, per cui mi soffermo agli annunci e agli aspetti tecnici.
Delphi 4. Sulla nuova versione di Delphi non e' stato detto quasi niente, ma anche il poco e' molto interessante. Ci dovrebbero essere il supporto per:
- la gestione di business object
- una maggiore interoperabilita' con il Web e Java
- il supporto per i nuovi database object-relational (ovverro la possibilita' di avere tabelle all'interno di tabelle)
Oltre a questo, pero', sono state annunciate due nuove versioni di Delphi 3 molto interessanti, che si affiancano a Delphi per As/400:
- Delphi 3 Enterprise conterra' il supporto per Entera (la tecnologia middelware di Ole Enterprise)
- Delphi 3 SAP conterra' strumenti e componenti per la programmazione di SAP, uno dei sistemi piu' usati da grandi aziende
Questi annunci vi dicono in che direzione si sta muovendo Borland: l'integrazione degli ambienti di sviluppo per PC con tutte le architetture delle grandi societa', per permettere lo sviluppo di interfacce utente moderne mantenendo la memorizzazione dei dati su sistemi tradizionali. Borland ha dato anche un nome nuovo alla sua strategia di connettivita', "InfoNet", ovvero la rete delle informazioni.
Che altro aggiungere? Forse l'annuncio di aver venduto 1.000.000 di copie di Delphi, forse che e' stata rinnovata la promessa di distribuire JBuilkder entro fine settembre, forse la rinforzata alleanza con Oracle e IBM, forse l'aria di grande ottimismo che si respirava (soprattutto se confrontato con le ultime conferenze), forse l'ottima qualita' degli interventi tecnici... E' stata veramente una conferenza al di sopra delle mie aspettative (anche per l'affluenza alle mie presentazioni).
Il prossimo anno... beh, data e luogo non si conoscono ancora, ma ci saranno in mezzo la conferenza europea di Londra e gli eventi italiani. Stay tuned.
"Delphi 3 non ha piu' i files .res, ma usa l'istruzione resourcestring per inserire delle costanti stringa (che si comportano in effetti proprio come delle const) nelle risorse dell'eseguibile direttamente dai files .pas
"I file che contengono tali risorse si chiamano consts.pas, bdeconst.pas, dbconsts.pas... Il problema e' che la maggior parte di essi non e' presente nei sorgenti della VCL, comunque sono presenti sotto forma di file .INT nella dir DOCS. Basta modificare leggermente questi files (gli manca solo la sezione implementation che deve essere vuota) ed ecco ricreati i .pas. Ora basta tradurre i messaggi e includere questi file nel proprio progetto e voila! tutti i messaggi della VCL saranno tradotti. "
In realta' Antonello Serra
"Tutto questo funziona per le applicazioni linkate staticamente, ovvero
senza i package. Borland non ha rilasciato tutte le unit presenti nei
package standard (e neppure i files .dpk per ricrearli) quindi non e'
possibile ricreare i package dai sorgenti con le stringhe modificate
(probabilmente cio' e' stato fatto per evitare che circolino in giro
package alterati con gli stessi nomi dei package standard, il che
crerebbe problemi). "
Modificare i package di Borland e' comunque espressamente vietato.
In aggiunta a quanto detto finora ho appena scoperto che Borland ha aggiunto a Delphi 3 un supporto specifico per la traduzione dei programmi (non i messaggi, e un'altra cosa). Appena ho un attimo scrivo un articolo...
Merlin il nuovo add-on per Delphi di John Howe e Mike Scott (che sostituisce il vecchio Triplex) e' disponibile in versione preview al sito "www.boots.com/merlin". Il costo per la registrazione e' attorno a 150 dollari, se non sbaglio.
Niente sezione Q&A per questo numero... ho progetti in mente per uno spazio aperto di domande e risposte... vi faro' sapere. Per il momento buone ferie a tutti quelli che ci vanno, e ci risentiremo verso fine agosto, salvo novita' interessanti.
A presto...
Marco
Si riprende dopo l'estate, con molte novita'. La newsletter Delphi&Dintorni ora e' ospitata sul mio nuovo sito web, http://www.marcocantu.com, dove trovate tutti gli arretrati. Maggior spazio Web significa l'invio di newsletter piu' piccole in email, con riferimenti al sito per gli articoli piu' lunghi.
Ho anche un nuovo indirizzo di email, marco@marcocantu.com: anche se la
newsletter vi viene spedita da compuserve effettuarte un reply solo per
iscrizioni e modifiche, mentre dovreste mandarmi commenti e altri messaggi piu' generali al nuovo indirizzo.
*** Altra novita' sostanziale e' l'avvio di "Delphi&Dintorni Professional", di cui potete leggere alla fine di questo messaggio ***
Se non avete gia' visto il prodotto in qualche manifestazione Borland,
potete avere molte informazioni sul loro sito web. Notate che non esiste
una versione trial, anche per il prezzo molto contenuto della versione
base.
Ecco i prezzi d ventita suggeriti (ma dovreste poter trovare offerte a
meno):
L'idea e' di un servizio che comprende:
Manca ancora la definizione degli ultimi dettagli: nella prossima
newsletter vi comunichero' dove trovarli sul mio sito web. La prima data
dovrebbe essere nell'ultima settimana di Ottobre, poi da Gennaio ogni due
mesi.
Tra i temi previsti per i prossimi incontri:
A presto...
3. Notizie varie
Davide Moretti (appena citato), lettore e direi collaboratore di Delphi&Dintorni ha vinto il Delphi 3 professional all'OperationX
di Borland. Complimenti vivissimi!4. Tip Delphi 3
Per aprire il file principale di un package (che non viene memorizzato sotto File | Reopen) invece di cercare il file sul disco, se l'avete installato vi conviene usare il comando Component | Install packages, scegliere, premere il pulsate edit, rispondere si alla domanda successiva. Ecco a voi il package editor.
Delphi&Dintorni #16 - 16 Settembre 1997
a cura di Marco Cantu', Wintech Italia SrlSommario
1. Delphi 3 Update
E' stato rilasciato da pochi giorni, e dovrebbe ormai essere disponibile
anche in Italia l'aggiornamento di Delphi 3 (versioni Professional e
Client/Server). Siccome non sono ancora riuscito ad averne una copia vi
riporto solo informazioni di altri:
2. Object Insight
Durante l'estate Borland ha rilasciato anche un add-on per Delphi. Object
Insight e' tool per la navigazione dei sorgenti della VCL e dei propri
programmi secodno la struttura della gerarchia di classi. Utile ma niente
di eccezionale: si tratta di uno strumento usato internamente da Borland e ora reso disponibile. Il pacchetto contiene anche un tool per la pulizia del proprio Registry, chiamato CleanX.
3. JBuilder
Sempre in questi giorni Borland ha finalmente rilasciato JBuilder, per il
momento solo nelle versioni Standard e Professional (analoghe a quelle di
Delphi).
4. Delphi&Dintorni Professional
E' ormai in fase di definizone, e vi anticipo nelle sue linee essenziali,
una nuova iniziativa realizzata dalla mia societa', Wintech Italia Srl.
Si tratta della possibilita' di "abbonarsi" alle giornate di domande e
risposte (Delphi Jam Sessions) e ai seminari (Delphi Workshop) che saranno organizzati con cadenza bimestrale, e di cui saro' oratore io o altri esperti italiani e internazionali di Delphi.
Il tutto ad un prezzo pari alle sole giornate di domande e risposte (ovvero ttorno al milione e mezzo per un anno). In altre parole si tratta di una specie di "User Group Professionale" a prezzi non modestissimi ma in cui si vuole curare molto la qualita'.
I dettagli saranno disponibili anche allo SMAU. Se avete suggerimenti
(ovvero cosa vi piacerebbe avere come utenti) o proposte di collaborazione (ovvero cosa vi piacerebbe offrire a chi partecipa) sono benvenute, ma devono arrivare al piu' presto.5. Il libro di Delphi 3 di McGraw-Hill Italia
Esce finalmente la traduzione parziale di Mastering Delphi 3 in italiano.
Il libro si intitola "Delphi 3" ed e' edito da McGraw-HIll Italia. Questa
volta si tratta della traduzione della seconda meta' del libro: c'e'
pochissima sovrapposizione con il libro pubblicato lo scroso anno (semrpe
da McGraw) su Delphi 2, che era la traduzione della prima parte di
Mastering. Purtroppopero' il titolo non chiarisce, anzi alimenta l'equivoco
che questo sia semplicemente una nuova edizione dello stesso libro: non e'
cosi'!