Newsgroup: it.comp.lang.vo-clipper
Titolo: xHarbour

Sposto su nu nuovo thread perché il precedente era un po' troppo
indentato ;-)
Enrico Maria Giordano wrote:
 >>Comunque ho letto velocemente alcune delle cose che discostano xHarbour
 >>da Harbour/Clipper e le approvo. Non vedo niente di male a far evolvere
 >>il linguaggio.
 >
 >
 > No, infatti. Faccio un esempio in cui si vede la differenza di
 > approccio: diverso tempo fa sottoposi un codice che utilizzava funzioni
 > di Clipper non documentate e che Harbour non riusciva a compilare.
 > Ebbene, dopo pochissimo tempo Ron mi scrisse che le aveva implementate
 > anche su xHarbour che quindi riuscì a compilare perfettamente quel
 > programmino. Harbour ancora oggi non lo compila.
Una cosa che secondo me sarebbe utilissima da implementare per un xBase
moderno da utilizzare in ambiente GUI è il concetto di WorkSpace simile
a quello di Xbase++.
In Xbase++ ogni thread ha il suo ambiente DB per appunto il workspace
separato con i suoi alias aperti indipendenti da quelli di altri thread.
in Xbase++ il meccanismo è legato ai thread, ma potrebbe anche non essere
così, basterebbe un comando per selezionare il workspace attivo ad esempio
wsselect(nWorkArea), in questo modo si potrebbe legare un workspace ad ogni
finestra o catena di finestre o lavoro in corso ed ottenere una completa
non modalità dell'applicazione.
Potresti farlo presente agli sviluppatore di xHarbour, magari è un idea
che potrebbero tenere a mente.
-- 
Ciao...
Claudio Driussi
http://www.swit.net/csoft
mailto:
cldr...@swit.net

 che potrebbero tenere a mente.
Solo che non ho capito bene. Mi sembra che me l'avevi già spiegato in
passato ma non ricordo più. Cosa ci sarebbe di diverso da quello che si
può fare attualmente anche in puro Clipper? E' già possibile, ad
esempio, aprire anche più volte lo stesso DBF in aree di lavoro diverse
ed utilizzarli indipendentemente l'uno dall'altro (una tecnica molto
comoda che uso spessissimo).
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg

 comoda che uso spessissimo).
Puoi aprire più volte lo stesso DBF, ma devi assegnargli un alias
diverso, questo non è un problema in molti casi ad esempio se devi
fare una ricerca tenendo fermo il primo dbf, il vantaggio di utilizzare
lo stesso alias secondo me è evidente in ambiente GUI, se usi workspace
diversi puoi aprire più finestre sullo stesso file e tenere i dati
indipendenti utilizzando sempre gli stessi nomi e quindi non ti devi
preoccupare di sapere se un file è già aperto oppure no, considera che
in certe situazioni ci possono essere molti files coinvolti con relazioni
anche complesse, se non hai questa feature mi pare difficile sviluppare
programmi non modali, certo puoi tenerti strutture tue per gestire questo
incapsulamento di dati, ma la tecnica dei workspace è decisamente più
comoda.


 comoda.
Uhm... non vedo il problema. Non è affatto necessario gestire
manualmente né l'alias né la workarea, come dimostrano molte classi
esistenti per le Fivewin (sia facenti parte della libreria stessa, sia
di terze parti) dai nomi come TDatabase, TDbf o TData, che rendono il
tutto trasparente senza alcun bisogno di utilizzare il multithread.
