Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - MSCHART con VB6 (grifici)
Forum - Visual Basic 6 - MSCHART con VB6 (grifici)

Avatar
CLIMAMI73 (Normal User)
Newbie


Messaggi: 4
Iscritto: 13/05/2009

Segnala al moderatore
Postato alle 16:54
Mercoledì, 13/05/2009
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.

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 17:10
Mercoledì, 13/05/2009
E' un po' poco per capire cosa possa succedere ...


PM Quote
Avatar
CLIMAMI73 (Normal User)
Newbie


Messaggi: 4
Iscritto: 13/05/2009

Segnala al moderatore
Postato alle 8:49
Giovedì, 14/05/2009
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.

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 22:13
Giovedì, 14/05/2009
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...

PM Quote
Avatar
CLIMAMI73 (Normal User)
Newbie


Messaggi: 4
Iscritto: 13/05/2009

Segnala al moderatore
Postato alle 8:04
Venerdì, 15/05/2009
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.

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 17:48
Venerdì, 15/05/2009
mm.... bè è strano... puoi postare questo tuo programma (o uno di esempio) con tanto di sorgenti?

PM Quote
Avatar
Louis (Normal User)
Pro


Messaggi: 150
Iscritto: 22/04/2008

Segnala al moderatore
Postato alle 17:56
Venerdì, 15/05/2009
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-)

PM Quote
Avatar
CLIMAMI73 (Normal User)
Newbie


Messaggi: 4
Iscritto: 13/05/2009

Segnala al moderatore
Postato alle 8:38
Martedì, 19/05/2009
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

PM Quote