Novità

PerLuigi - Spaziometria - Errore dopo Compila Exe

claudio8

Premium Member
Buon anno nuovo.
Ho realizzato uno script che devo compilare in exe.
Dopo aver inserito l'obbligatorio Option explicit e dichiarato correttamente tutte le variabili, testato lo script che gira e funziona a mio parere senza errori, lo ho compliato in exe .
L'anciando l'exe, mi dà l' indicazione /errore sottostante che supero cliccando sul OK e su No alla richiesta di "Mostrare altri messaggi".

Errore 9.JPG

Lo script quindi completa il suo iter e mi da l'output corretto nel browser.
Anche nel caso non fosse un errore, vorrei poterlo eliminare se possibile.
Saluti Luigi
 

claudio8

Premium Member
Trovato il perchè del messagio.... out of range
dipende dalla richiesta nel costrutto di operare oltre "estrazioniarchivio".

passiamo alla soluzione
 

claudio8

Premium Member
Buon anno nuovo.
Ho realizzato uno script che devo compilare in exe.
Dopo aver inserito l'obbligatorio Option explicit e dichiarato correttamente tutte le variabili, testato lo script che gira e funziona a mio parere senza errori, lo ho compliato in exe .
L'anciando l'exe, mi dà l' indicazione /errore sottostante che supero cliccando sul OK e su No alla richiesta di "Mostrare altri messaggi".

Vedi l'allegato 2228106

Lo script quindi completa il suo iter e mi da l'output corretto nel browser (errata corrige: non corretto ).
Anche nel caso non fosse un errore, vorrei poterlo eliminare se possibile.
Saluti Luigi

Ho rivisto il tutto con più attenzioe e verificato che nell'output dell'exe (output del browser) sono mancanti alcuni dati.
allego screenshot e lo script usato per ritestare la procedura con un'altro script di Luigi.

Errore Ambetti in exe.JPG

Codice:
Option Explicit
Sub Main
   Dim idEstr,Ruota
   Dim Inizio,Fine
   Dim nClasseFrz
   Dim id,k
   Dim nElemFrz
   Dim nQAmbetti
   Dim nEstrTot
   Dim nFrqMedia
   Dim sNomeFrz
   Inizio = EstrazioneIni
   Fine = EstrazioneFin
   Ruota = ScegliRuota
   nEstrTot =(Fine + 1) - Inizio
   ReDim aElemFormazione(0)
   Call RichiediFormazione(aElemFormazione,nClasseFrz,sNomeFrz)
   nElemFrz = UBound(aElemFormazione)
   ReDim aValStat(nElemFrz,4)
   ' indice 0 il ritardo
   '        1 freq
   '        2 ritmax
   '        3 incr rit max
   '        4 presenze
   If Ruota > 0 And nClasseFrz > 1 Then
      For id = 1 To nElemFrz
         ReDim aNumInGioco(0)
         Call GetNumInGiocoFromElemFrz(id,aElemFormazione,aNumInGioco,nClasseFrz)
         For idEstr = Inizio To Fine
            ' inserire qui il codice che analizza l'estrazione corrente
            nQAmbetti = VerificaAmbetto(aNumInGioco,Ruota,idEstr,"",0)
            If nQAmbetti > 0 Then
               aValStat(id,0) = 0
               aValStat(id,1) = aValStat(id,1) + nQAmbetti
               aValStat(id,3) = 0
               aValStat(id,4) = aValStat(id,4) + 1
            Else
               aValStat(id,0) = aValStat(id,0) + 1
               If aValStat(id,0) > aValStat(id,2) Then
                  aValStat(id,2) = aValStat(id,0)
                  aValStat(id,3) = aValStat(id,3) + 1
               End If
            End If
            If ScriptInterrotto Then Exit For
         Next
         Call AvanzamentoElab(1,nElemFrz,id)
         If ScriptInterrotto Then Exit For
      Next
      Dim aV
      aV = Array("","Formazione","Ritardo","Frequenza","RitardoMax","IncrRitMax","Presenze","I.C.")
      Call InitTabella(aV)
      For id = 1 To nElemFrz
         ReDim aNumInGioco(0)
         Call GetNumInGiocoFromElemFrz(id,aElemFormazione,aNumInGioco,nClasseFrz)
         aV(1) = StringaNumeri(aNumInGioco)
         aV(2) = aValStat(id,0)
         aV(3) = aValStat(id,1)
         aV(4) = aValStat(id,2)
         aV(5) = aValStat(id,3)
         aV(6) = aValStat(id,4)
         nFrqMedia = Dividi(nEstrTot,aValStat(id,4))
         aV(7) = Round(Dividi(aValStat(id,0),nFrqMedia),3)
         Call AddRigaTabella(aV)
      Next
      Call Scrivi("StatisticaAmbetto")
      Call Scrivi("Analisi su formazione : " & sNomeFrz)
      Call Scrivi("Sulla ruota           : " & NomeRuota(Ruota))
      Call Scrivi("Da                    : " & GetInfoEstrazione(Inizio))
      Call Scrivi("A                     : " & GetInfoEstrazione(Fine))
      Call Scrivi("Totali range          : " & nEstrTot)
      Call Scrivi
      Call CreaTabella(2)
   End If
End Sub
Sub GetNumInGiocoFromElemFrz(id,aElemFormazione,aNumInGioco,nClasseFrz)
   Dim k
   ReDim aNumInGioco(nClasseFrz)
   For k = 1 To nClasseFrz
      aNumInGioco(k) = aElemFormazione(id,k)
   Next
End Sub
Sub RichiediFormazione(aElemFormazione,nClasseFrz,sNome)
   Dim s
   Dim n
   Dim id
   ReDim aNomiForm(0)
   Call ElencoFileInDirectory(GetDirectoryAppData & "formazioni\",aNomiForm,".frz")
   id = ScegliOpzioneMenu(aNomiForm,1,"Selezione formazione")
   If GetElementiFormazione(aNomiForm(id),aElemFormazione) Then
      nClasseFrz = GetClasseFormazione(aNomiForm(id))
      sNome = aNomiForm(id)
   End If
End Sub

Considerando che Luigi è preso dall' altro programma, nell'attesa che mi risponda, chiedo a chi può di provare a creare l'exe, magari è il mio Vb6 che non opera correttamente.

Grazie
 
L

LuigiB

Guest
quell'errore capita quando si fa riferimento ad un indice in un array che non ha la quantita di elementi suffcente,
 

claudio8

Premium Member
quell'errore capita quando si fa riferimento ad un indice in un array che non ha la quantita di elementi suffcente,

Grazie della risposta ma credo che sia nel mio script che nel tuo le array o matrici sono dimensionate a sufficenza .

Se provi a creare l'exe con il tuo script che ho postato, vedrai che lo script funziona correttamente mentre quando lanci l'exe da l'errore/segnalazioni .
Ciao
 
L

LuigiB

Guest
mi sa che l'errore sta in una parte che non dipende da te , in altre pparole non ci si puo fare niente..dovrei ricacciare il portatile con xp e andare a vedere che c'ha la funzione VerificaAmbetto...
 
L

LuigiB

Guest
ciao Cla , vedi un po se la versione dello script opportunamente modificata funziona col progamma nuovo , scarica però prima l'ultima versione lo script l'ho messo di la ...
 

claudio8

Premium Member
Grazie della dedica Luigi, ma

sono impossibilitato ad usarlo x mancanza di Hardware
la mia ex ferrari del 2011 continua a montare un s.o. xp core 2 duo....32bit
passero al nuovo programma al prossimo PC.

Se puoi mettere mano a SPM ben venga altrimenti per ora soprassiedo.
Grazie Prof.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 23 aprile 2024
    Bari
    47
    22
    34
    20
    50
    Cagliari
    33
    14
    86
    02
    62
    Firenze
    61
    22
    44
    19
    26
    Genova
    21
    12
    57
    82
    55
    Milano
    66
    05
    11
    70
    30
    Napoli
    05
    23
    25
    52
    73
    Palermo
    23
    44
    49
    71
    65
    Roma
    82
    37
    59
    34
    71
    Torino
    26
    42
    66
    15
    58
    Venezia
    57
    06
    68
    54
    84
    Nazionale
    21
    79
    49
    03
    01
    Estrazione Simbolotto
    Genova
    24
    02
    19
    03
    27
Alto