Oppure

Loading
13/05/09 14:54
CLIMAMI73
Ciao a tutti, ho letto molte pagine del forum, si parla di questo componente, ma non ho trovato la soluzione che fa al mio caso.

Ho aggiunto su un progetto il componente MSCHART, a me funziona benissimo.
Il problema è che sua creando il pacchetto con programmi diversi, sia ricompilando l'eseguibile, su altri PC non elabora, appare sola la finestra con il componente, ossia l'OCX con i grafici che ho inserito, ma non appaiono ne le barre, ne predispone gli assi x e y in base ai valori che gli passo.

Ho provato anche ad istallare visual basic su altri due pc, uno con office 2003 ed uno con office 2007, ma niente.

Grazie in anticipo.
aaa
13/05/09 15:10
theprogrammer
E' un po' poco per capire cosa possa succedere ...

aaa
14/05/09 6:49
CLIMAMI73
In un classico ciclo while carico i valori e creo il grafico.
Crea automaticamente l'asse X e Y dandogli i valori che genero nel ciclo while.
E funziona bene, ma solo sul mio PC.

E come se modifico la caption di un command1 mettendo "PIPPO" e su altri pc lascia alterato il valore "command1".
Nel mio caso vedo l'ocx, ma come se stessi in pregettazione,non elabora nessun dato.
Gliasse X e Y non si modificano.
Le barre del grafico non appaiono menneno.
Ripeto, solo su altri PC, sul mio va bene.
aaa
14/05/09 20:13
GrG
mm... quindi tu diciamo fai un grafico che sul tuo pc va, cioè il progr lo disegna ma sugli altri no, giusto?

bà accertati di mettere l'ocx in system32 (sugli altri computer) e magari prova a registrarla... anche se dubito che funzioni...
aaa
15/05/09 6:04
CLIMAMI73
Grazie del consiglio, ma non funziona, lo avevo già fatto, senza l'OCX in system32 da errore di run-time.
E' un peccato non trovare una soluzione, è veramente carino questo componente.
aaa
15/05/09 15:48
GrG
mm.... bè è strano... puoi postare questo tuo programma (o uno di esempio) con tanto di sorgenti?
aaa
15/05/09 15:56
Louis
Quando non si aggiornano i dati, significa che la matrice ove vengono caricati i valori del grafico non é impostata correttamente; quindi ti consiglio di rivedere il codice che fa riferimento alla matrice del grafico. 8-)
aaa
19/05/09 6:38
CLIMAMI73
ecco la routine.
Nonnina è il nome di una funzione che trasforma i minuti in ore


Private Sub calco()
Dim csql As String
Dim mrs As Recordset
Dim csql1 As String
Dim mrS1 As Recordset
Dim i As Integer
i = 1
Dim pluto As String
csql = "select fase from tempi_temp where nl='" & nl99 & "' group by fase order by min(ordina)"
If DB_OpenRecordSet(csql, mrs) Then
If mrs.RecordCount > 0 Then
xx = mrs.RecordCount
Call ImpostaGriglia
While Not mrs.EOF
fase100 = mrs!fase


Dim MatriceTrid(1 To 15, 1 To 2)




csql1 = "Select distinct(fase) from tempi_temp where fase='" & fase100 & "' and nl='" & nl99 & "'"
If DB_OpenRecordSet(csql1, mrS1) Then
If mrS1.RecordCount > 0 Then
If pluto <> fase100 Then
While Not mrS1.EOF
pluto = fase100
risultimo = 0
stimato100 = 0
Call tutto
Call stimato
If stimato100 = 0 Then
stimato100 = risultimo
End If
If risultimo <> 0 Then
Dim r As String
r = i
griglia.AddItem "R " & r & vbTab & numfase100 & vbTab & fase100 & vbTab & mac100 & vbTab & Nonnina(stimato100) & vbTab & Nonnina(risultimo) & vbTab & (risultimo - stimato100) & " Munuti"
Else
griglia.AddItem "-- " & vbTab & numfase100 & vbTab & fase100 & vbTab & mac100 & vbTab & Nonnina(stimato100) & vbTab & Nonnina(risultimo) & vbTab & (risultimo - stimato100) & " Munuti"
End If




mrS1.MoveNext
Wend
If risultimo = 0 Then
i = i - 1
Else
MatriceTrid(i, 1) = Nonnina(stimato100)
MatriceTrid(i, 2) = Nonnina(risultimo) 'seconda serie
' MatriceTrid(i, 3) = -((risultimo - stimato100))

End If
End If
End If

End If



mrs.MoveNext
' pluto = ""
i = i + 1
Wend
End If


End If
MSChart2.AllowDynamicRotation = True
MSChart2.chartType = VtChChartType3dStep
MSChart2.FootnoteText = "La rotazione avviene premendo il tasto CTRL che visualizza il puntatore di rotazione."
MSChart1.ChartData = MatriceTrid
MSChart2.ChartData = MatriceTrid
aaa