Ciao,
avrei un problema con le API in ambiente VB6 SP6. Qua sotto trovi il codice incriminato (l'evento OnBarsChanged ha lo stesso problema).
Private Sub eSignal_OnBarsReceived(ByVal lHandle As Long)
'Memorizzo la posizione nell'array dell'handle che ha fatto la richiesta
Dim index As Integer
index = historyHandleToIndex(lHandle)
If ((index >= 0) And (esignal.GetNumBars(lHandle) > 0)) Then
Dim i As Integer
Call symbolInfoArray(index).Init(esignal.GetNumBars(lHa ndle))
'Dato che si tratta di storico, le barre precedenti sono con indice negativo
For i = -(esignal.GetNumBars(lHandle) - 1) To 0
'Prendo la barra e la memorizzo in bd
Dim bd As IESignal.BarData
'Set bd = esignal.GetBar(lHandle, i)
'Metto la barra nell'array attraverso il metodo FillBar
Call symbolInfoArray(index).FillBar(bd)
Next
End If
End Sub
In particolare, nel momento in cui vado a fare Ctrl+F5 per controllare errori dell'intero progetto e non commento la riga
'Set bd = esignal.GetBar(lHandle, i)
VB6 va in crash!!!! Viceversa, se la commento tutto funziona correttamente (vengono attivati gli eventi, ricevo tutte le barre richieste, etc...). Sembrerebbe quindi esserci un problema in fase di memorizzazione della barra, anche se non ha nessun senso.
Ho provato a rifare tutto il progetto da capo, togliere e rimettere le references ma niente da fare.
Grazie in anticipo per l'aiuto.
avrei un problema con le API in ambiente VB6 SP6. Qua sotto trovi il codice incriminato (l'evento OnBarsChanged ha lo stesso problema).
Private Sub eSignal_OnBarsReceived(ByVal lHandle As Long)
'Memorizzo la posizione nell'array dell'handle che ha fatto la richiesta
Dim index As Integer
index = historyHandleToIndex(lHandle)
If ((index >= 0) And (esignal.GetNumBars(lHandle) > 0)) Then
Dim i As Integer
Call symbolInfoArray(index).Init(esignal.GetNumBars(lHa ndle))
'Dato che si tratta di storico, le barre precedenti sono con indice negativo
For i = -(esignal.GetNumBars(lHandle) - 1) To 0
'Prendo la barra e la memorizzo in bd
Dim bd As IESignal.BarData
'Set bd = esignal.GetBar(lHandle, i)
'Metto la barra nell'array attraverso il metodo FillBar
Call symbolInfoArray(index).FillBar(bd)
Next
End If
End Sub
In particolare, nel momento in cui vado a fare Ctrl+F5 per controllare errori dell'intero progetto e non commento la riga
'Set bd = esignal.GetBar(lHandle, i)
VB6 va in crash!!!! Viceversa, se la commento tutto funziona correttamente (vengono attivati gli eventi, ricevo tutte le barre richieste, etc...). Sembrerebbe quindi esserci un problema in fase di memorizzazione della barra, anche se non ha nessun senso.
Ho provato a rifare tutto il progetto da capo, togliere e rimettere le references ma niente da fare.
Grazie in anticipo per l'aiuto.
Comment