Discussione: Scripts di esempio
-
04-05-13, 16:39 #141
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
Altro problemuccio...
Io ho delle variabili che sono state definite nella MainUnit...
se io le richiamo all'interno della SUB del Timer mi dice che non le riconosce...
siccome vorrei visualizzare delle variabili persistenti, che ovviamente variano in base alle diverse istruzioni dello Script, ma tutto ciò avviene nella MainUnit... come faccio a richiamarle all'interno della SUB del Timer?
Thanks!
-
05-05-13, 11:16 #142
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Ultima modifica di Smash; 05-05-13 alle 11:27
-
05-05-13, 11:36 #143
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
In linea teorica basterebbe dichiarare le variabili come pubbliche ... ma fatta una prima prova vedo che non va! Più tardi provo ad approfondire.
Altrimenti, la soluzione più immediata sarebbe quella di trasferire tutti i calcoli che facevi nella MainUnit all'interno della nuova unit contenente la Form ed il Timer, mentre la MainUnit la utilizzi solo per richiamare la finestra.
-
05-05-13, 12:11 #144
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
-
05-05-13, 16:31 #145
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Considera inoltre che di timer ne potresti usare anche più di uno.
Li potresti settare anche con intervalli di tempo differenti tra loro.
Se poi volessi che una certa azione venga eseguita una volta sola e poi più, allora potresti settare a zero tramite script la proprietà interval di quel timer, e lui si ferma ...... per poi magari farlo ripartire dall'esterno in qualche modo, se necessario ....
Insomma, la programmazione con i controlli può offrire delle potenzialità veramente enormi!
-
05-05-13, 17:55 #146
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
Ho provato a trasferire tutto lo Script nella Unit1 dentro al Timer ed in effetti pare funzionare... eseguo lo Script, si apre la finestra e le variabili vengono visualizzate...
A quel punto quindi, come diceva Max, basterebbe far partire lo Script con l'opzione 2 nelle sue proprietà (esegui una sola volta all'avvio della strategia), in modo che si apra la finestra e il Timer (o i Timer) scandisca l'intervallo temporale in cui lo Script viene eseguito...
Ora attendiamo che Max ci illumini sul problema ExtCtrls...
-
05-05-13, 18:02 #147
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Qualche tempo fa avevamo il problema della variabile persistente, che a questo punto potrebbe tranquillamente essere una proprietà di un controllo (esempio: la proprietà Caption di una Label).
-
05-05-13, 18:15 #148
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Metodo alternativo:
si inserisce un controllo Timer2 in una Form, settando la proprietà Interval a 1000 (1 secondo), quindi si gestisce l'evento del Timer in una maniera tipo questo:
SUB Timer2Timer(Sender AS TObject) 'Si inseriscono qui tutte le azioni che si vogliono fare eseguire Timer2.Interval = Timer2.Interval + 1 If Timer2.Interval = 1003 then Timer2.Interval = 0 'Se Timer2.Interval = 0 le azioni non verranno più eseguite END SUB
Di fatto ad ogni esecuzione la proprietà Interval aumenta di 1 millisecondo (praticamente nulla!) e quando raggiunge il valore limite il timer si ferma.
-
05-05-13, 19:13 #149
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
La questione PersistentVar() è risolta...
Max l'ha aggiustata nell'ultima release e mi è stato spiegato per bene come utilizzarla:
Per leggerla con il GetPersistentVar()
Variabile = StrToInt(GetPersistentVar("Variabile"))
E per settarla con il SetPersistentVar()
SetPersistentVar("Variabile", IntToStr(Variabile + 1) )
In pratica va fatta sempre la conversione da e in stringa
-
13-05-13, 13:10 #150
- Data Registrazione
- Apr 2013
- Messaggi
- 13
Ciao gente, grazie alle vostre indicazioni sono riuscito a buttar giù uno script completo per testare il software con l'idea che mi ero fatto inizialmente. Ha funzionato praticamente tutto come sperato e in parte è proprio merito vostro.
Però, tanto per non smentirmi, mi ripresento con un paio di problemi...
Il primo, più che un problema è una domanda : c'è modo di leggere nello script i valori degli indicatori TTS Meter?
Il secondo invece è un problema vero e proprio e che mi sta bloccando tutto... Dopo aver finito e fatto girare senza problemi lo script, ho dovuto reinstallare il pc ex novo. Una volta terminato e installato anche Fiuto, sono rientrato nella mia strategia e quando ho cliccato il pulsante per aprire l'editor degli script è sopravvenuto il fattaccio... appena clicco mi compaiono in sequenza 5 diverse finestre con errori di Access Violation nel modulo FiutoPro.exe agli indirizzi 00B13E70 e 000002AC, e una volta "confermate", se tento di compilare o eseguire lo script ricevo sempre un errore sulle prime linee di codice dove creo la Form.
Qualcuno sa da cosa potrebbe dipendere? Magari qualche impostazione del sistema operativo o simili?
Per info, uso Windows7 professional a 64bit (lo stesso sistema operativo che avevo prima di formattare quando tutto funzionava...
Renato.