Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: Avogadro - Novembre 24, 2017, 04:53:03 am

Titolo: TAChart "range ceck error" a design time
Inserito da: Avogadro - Novembre 24, 2017, 04:53:03 am
Sto avendo un problema inaspettato che mi sta mettendo in crisi  su un progetto sulle carte di controllo.

In breve ; devo fare dei grafici e sto usando i componenti Chart presenti nell' IDE; i grafici non sono nulla di particolare: devono mostrare l'andamento temporale (trend) di una serie di dati .

Ho messo a punto i grafici a suo tempo e non li ho piu' toccati; a run time hanno sempre funzionano egregiamente e non li ho piu' toccati dalla prima versione (nel tempo pero' ho usato versioni successive di lazarus) .

Adesso il cliente mi ha chiesto una modifica ma a design time Lazarus va in crash quando seleziono i componenti Chart1, Chart2 e Chart3

Il fenomeno è descritto qui

http://wiki.freepascal.org/TAChart_Tutorial:_ListChartSource,_Logarithmic_Axis,_Fitting

alla voce  TChartTransformations and LogarithmicAxisTransform

Io non faccio nessuna trasformazione ma l' errore è quello ("range ceck error") e manda in crash tutto.

In pratica non posso piu' mettere mano  ai grafici a design time, un bel guaio da cui non so come uscirne perché la situzione è quella descritta dal link ma il punto adesso è come sanare questa situazione ?

Ossia come mettere mano ad esempio a chart1 senza che si crei l' eccezione "range ceck error" a design time ?  Si puo' intervenire da qualche parte con un editor di testo nei codici sorgenti ?

Grazie anticipate a chi mi puo' aiutare a uscirne .

Saluti.









Titolo: Re:TAChart "range ceck error" a design time
Inserito da: xinyiman - Novembre 24, 2017, 08:13:05 am
Ciao Avogadro, putroppo senza poter replicare l'errore non so come aiutarti. Non riesci a farci un piccolo sorgente che esegue l'errore e noi proviamo a capire come mai?!
Titolo: Re:TAChart "range ceck error" a design time
Inserito da: nomorelogic - Novembre 24, 2017, 08:51:55 am
visto che si tratta di un problema a design-time, è fattibile che ti crei tutti i componenti a runtime?
Titolo: Re:TAChart "range ceck error" a design time
Inserito da: Avogadro - Novembre 25, 2017, 09:09:39 pm
Si, è fattibile creare i componenti a run time, anzi,  a mio avviso è auspicabile (in fondo il Pascal è stato creato anche per questo, un "oggetto" lo si crea e lo si usa solo quando serve, poi lo si "cancella") .

Ho scelto di creare i compoenti a design time solo per semplicità ( e per "effeto ancoraggio" al vecchio e caro fortran che girava sul vax - bei tempi quando  bastavano un po' di asterischi sul modulo continuo- )  .

Sono appena tornato da un convegno apputo sulle carte di controllo, mi metto all'opera e vedo se ne riesco ad uscirne .

Per il codice sorgenet: tolgo alcune loghi e vedo di postarlo - ha bisogno di zeoslib e di fortes report-.

Ciao a tutti.

Titolo: Re:TAChart "range ceck error" a design time
Inserito da: Avogadro - Novembre 25, 2017, 10:21:40 pm
Misteri dell' informatica: ho preso una copia di backup  dell'applicazione e a run time il problema non c'è.
Ho usato lazarus 1.8.0RC5 a 32 bit (l' errore lo dava su un altro pc, dove avevo installato una versione di lazarus a 64 bit).

In verità la copia che non andava era su una pen drive che avevo usato per un corso sulle carte di controllo.

Ora non so da cosa possa mai dipendere ma vedo un attimo vacillare lo slogan di lazarus "compila ovunque", non è proprio così (in verità compilare ovunque lo stesso codice sorgente è un problema che esiste da sempre nell' informatica: tornando al caro vecchio fortran non era detto che passando ad esempio da vax al cray tutto andasse sempre liscio) .

Dovro' passare un buon antivirus alla pen drive giusto per prevenire

Meglio così, che ho risolto con una copia di backup, mi era vunuto un mal di testa  al solo pensiero di dover rifare i grafici.
 
Rimane sempre il mistero di cosa possa essere mai successo (la vecchia cara  pen drive mi sta per lasciare ? ) .




Titolo: Re:TAChart "range ceck error" a design time
Inserito da: Stilgar - Novembre 27, 2017, 02:47:23 pm
Possibile che i grafici usino interi e puntatori mescolandoli.
Da qui l'errore che ti dava a 64bit.
😊
Titolo: Re:TAChart "range ceck error" a design time
Inserito da: Avogadro - Novembre 27, 2017, 09:10:09 pm
E' l' ipotesi piu' plausibile.

Ciao