Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

pedice in FidoCadj

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

0
voti

[21] Re: pedice in FidoCadj

Messaggioda Foto UtenteRenzoDF » 9 mar 2012, 13:29

Lelettrico ha scritto:No niente in particolare semplicemente non capivo a fronte della domanda ...
...Mi sembrava non allineata la risposta, se uno prende tutto il sorgente e si mette nelle condizioni in cui era Davide si puo' ben dire ... eroico

Ma che stai a di' ? :-)
"Il circuito ha sempre ragione" (Luigi Malesani)
Avatar utente
Foto UtenteRenzoDF
55,9k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 13189
Iscritto il: 4 ott 2008, 9:55

0
voti

[22] Re: pedice in FidoCadj

Messaggioda Foto UtenteLelettrico » 9 mar 2012, 13:30

Robert8 ha scritto:
Lelettrico ha scritto:perdona se ho frainteso

Probabilmente mi sono espresso male io. Le osservazioni troppo stringate generano facilmente equivoci.
Ti spiego il ragionamento che ho seguito.

DrawinNE mi ha gentilmente avvisato sulla mia versione superata.


Non volevo offendere la sensibilità di nessuno e se ho sbagliato ragionamento mi scuso.

No no no non scusarti in nessun modo! Assolutamente sono io che ho frainteso!
O_/
:!:
Avatar utente
Foto UtenteLelettrico
2.458 1 4 6
Master
Master
 
Messaggi: 1108
Iscritto il: 13 set 2010, 12:24

3
voti

[23] Re: pedice in FidoCadj

Messaggioda Foto UtenteDarwinNE » 9 mar 2012, 13:47

Prima di tutto, vi ringrazio per i complimenti. Mi fa piacere che il programma venga apprezzato!
Tenete conto che si tratta di un progetto abbastanza piccolo, quindi non è poi così strano che io conosca a memoria abbastanza bene quasi tutti i meandri dell'implementazione del codice.

Robert8 ha scritto:Siccome con la nuova versione, quando creo un disegno, il null è scomparso, ma se visualizzo il sorgente di altri il null appare di nuovo, ho escluso il caso 2 e desunto che anche altri avessero ancora la versione precedente.


Cerco di essere più esplicito anch'io. Quando FidoCadJ legge il codice, quello che fa è in qualche modo creare gli elementi che sono associati ad ogni comando e mantenerli in memoria in una specie di tabella/database.
Questa tabella/database viene per esempio scorsa ogni volta che il disegno viene tracciato sullo schermo del calcolatore, perché ogni elemento contiene tutte le informazioni necessarie. Questo modo di procedere ha anche il vantaggio di poter immagazzinare nella tabella qualche informazione in più dello stretto necessario. Per esempio, i ridisegni in FidoCadJ avvengono molto di frequente, molto di più di quanto non accadesse con il vecchio FidoCAD per Windows (senza entrare nei dettagli, il motivo è legato al trend della grafica in questi ultimi anni, con antialiasing ed effetti di trasparenza). Quindi, per velocizzare il ridisegno, nella tabella viene memorizzata tutta una serie di dati precalcolati per ogni elemento. Il codice testuale del disegno, invece, non viene mai conservato da nessuna parte.
Quando il codice di un disegno viene interpretato, un parser si occupa di creare questa tabella. Quando si fa copia/incolla, oppure si salva su un file, la tabella viene scorsa ed ogni suo elemento si occupa di creare i comandi che gli competono, e che danno poi luogo al codice che ben conoscete.
Qui c'è da dire che il copia/incolla avviene in due maniere distinte:
- Il modo più semplice è quello attivo quando l'opzione "suddividi macro non standard durante il copia/incolla" NON è attiva: qui si scorre la tabella e quando si incontra una macro si sputa fuori solo il riferimento al nome della macro
- Quando c'è da suddividere le macro, bisogna invece "entrare" all'interno della macro e scomporla in elementi di base.

La seconda strategia è molto simile a quanto avviene con l'esportazione verso un formato grafico. Esportando in EPS non posso far riferimento a librerie interne a FidoCadJ e sono quindi obbligato a separare sempre le macro in elementi di base! Per quello, chi scorre il codice Java di FidoCadJ constata (spesso con stupore) la presenza di una classe che... esporta i disegni FidoCadJ in FidoCadJ. L'esportazione avviene sempre su un file, quindi quando l'opzione "suddividi macro non standard durante il copia/incolla" è attiva, viene creato un file temporaneo che poi viene letto ed il contenuto caricato nella clipboard. Dopodiché il file temporaneo viene distrutto.

Beh, leggendo il file temporaneo, nella versione 0.23.5 e 0.23.6 viene erroneamente letta una riga in più del necessario! Questa riga non esiste e viene prodotto il famoso null che appare nel codice di chi utilizza ancora queste vecchie versioni.

Su questo sono controcorrente: non penso che utilizzare sempre le ultime versioni di un software sia sempre una buona idea. Personalmente, ho osservato che le nuove versioni di qualcosa che funziona bene tendono a diventare sempre più grosse, pesanti, lente e piene di bug. In questo caso, però, la strategia della versione 0.23.7 è stata di non fare nulla di più della 0.23.6, ma farlo meglio e quindi alcuni bug importanti e/o fastidiosi sono stati eliminati.
Mi sono permesso di consigliare l'aggiornamento, perché, a mia conoscenza, la versione 0.23.7 è la versione più veloce e stabile di FidoCadJ che è uscita finora.
In questo momento, sono al lavoro sulla versione 0.24, che però introdurrà alcune novità e quindi inevitabilmente alcuni bug. Su Sourceforge, cerco di mantenere disponibili tutte le versioni di FidoCadJ uscite, salvo forse le prime quando ancora non lavoravo su SF con SVN.
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

0
voti

[24] Re: pedice in FidoCadj

Messaggioda Foto UtenteRobert8 » 9 mar 2012, 14:25

Lelettrico ha scritto:Assolutamente sono io che ho frainteso!

Nessun problema :ok:
Avatar utente
Foto UtenteRobert8
3.449 2 8 13
Master EY
Master EY
 
Messaggi: 373
Iscritto il: 15 giu 2011, 16:30

Precedente

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 161 ospiti