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 - pacchetti d'installazione
Forum - Visual Basic 6 - pacchetti d'installazione

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
ffranco (Normal User)
Newbie


Messaggi: 6
Iscritto: 08/03/2009

Segnala al moderatore
Postato alle 16:14
Domenica, 08/03/2009
Ciao a tutti. Mi sono da poco avvicinato al mondo di visual basic 6 ed ho realizzato un banale progetto a cui si accede attraverso la digitazione di una password. Il programma funzione alla perfezione in ambiete VB6. Ho quindi creato il file .exe e, attraverso la creazione guidata di pacchetti d'installazione offerta da vb, ho creato il mio pacchetto. Dopo aver installato il mio programma l'ho avviato rilevando che, dopo aver immesso la password attraverso l'apposita form, il programma si blocca. Qualcuno sa indicarmi dove ho sbagliato!!
Grazie

PM Quote
Avatar
tippolo (Normal User)
Pro


Messaggi: 157
Iscritto: 21/09/2008

Segnala al moderatore
Postato alle 17:01
Domenica, 08/03/2009
Testo quotato

Postato originariamente da ffranco:

Ciao a tutti. Mi sono da poco avvicinato al mondo di visual basic 6 ed ho realizzato un banale progetto a cui si accede attraverso la digitazione di una password. Il programma funzione alla perfezione in ambiete VB6. Ho quindi creato il file .exe e, attraverso la creazione guidata di pacchetti d'installazione offerta da vb, ho creato il mio pacchetto. Dopo aver installato il mio programma l'ho avviato rilevando che, dopo aver immesso la password attraverso l'apposita form, il programma si blocca. Qualcuno sa indicarmi dove ho sbagliato!!
Grazie  


Premesso che è sconsigliato utilizzare la creazione guidata di pacchetti d'installazione offerta da vb, potresti utilizzare per compilare i tuoi progetti InnoSetup o CyberInstaller. A parte questo il tuo problema credo che risieda nel progetto, dici che funziona bene nell'IDE di VB6, hai provato a lanciare l'eseguibile creato da VB6 per vedere se funziona?
Magari se postassi il codice che utilizzi nel commandbutton per poter accedere al programma dopo aver inserito la password sarebbe piu semplice risponderti.

PM Quote
Avatar
ffranco (Normal User)
Newbie


Messaggi: 6
Iscritto: 08/03/2009

Segnala al moderatore
Postato alle 16:41
Lunedì, 09/03/2009
l'eseguibile funziona alla perfezione

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 16:55
Lunedì, 09/03/2009
prova ad usare un programma + moderno per creare i pacchetti d'installazione... e vedi se il problema ti si ripresenta...

PM Quote
Avatar
ffranco (Normal User)
Newbie


Messaggi: 6
Iscritto: 08/03/2009

Segnala al moderatore
Postato alle 17:36
Lunedì, 09/03/2009
ho usato CyberInstaller studio ed il problema permane.

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 17:41
Lunedì, 09/03/2009
mmm... comunque per miglior chiarezza se puoi mostar il codice del button

PM Quote
Avatar
ffranco (Normal User)
Newbie


Messaggi: 6
Iscritto: 08/03/2009

Segnala al moderatore
Postato alle 20:31
Lunedì, 09/03/2009
credo che il problema sia in un Array filtrato. Posto il codice:
Private Sub prova1()
    On Error Resume Next
    
    Dim MyColl As Collection
    Dim X As Integer, j As Integer
    Dim Duplicati As Single
    
    Set MyColl = New Collection
         For X = LBound(MyArray) To UBound(MyArray)
            'Cerco d'aggiungere l'elemento come chiave alla collection:
            MyColl.Add 0, CStr(MyArray(X))
            'La chiave esiste già, quindi è un duplicato la inserisco nella List2:
            If Err Then
                List2.AddItem MyArray(X)
                ' Toglie i duplicati:
                MyArray(X) = Empty
                Duplicati = Duplicati + 1
                Err.Clear
            ElseIf Duplicati Then
                'ricompatta l'array :
                MyArray(X - Duplicati) = MyArray(X)
                MyArray(X) = Empty
            End If
        Next

'Toglie dall'array i valori "empty" - Numeri doppi e tripli inseriti in List1:
    If Duplicati Then
        ReDim Preserve MyArray(LBound(MyArray) To UBound(MyArray) - Duplicati) As Single
    End If

' Ordina i numeri singoli del vettore:
    Call BubbleSort
    
' Rimuove da List2 i numeri doppi e li inserisce in List3:
    Call RimuoviDupl(List2)

    Set MyColl = Nothing
End Sub
'------------------------------------------------
' Ordina in senso crescente i singoli elementi contenuti nella Lbl:
Sub BubbleSort()

Dim ii As Integer, j As Integer, y As Integer, Temp As String, risult2 As String

    For ii = UBound(MyArray, 1) To LBound(MyArray, 1) Step -1
        For j = LBound(MyArray, 1) To ii - 1
            'scambiare il ">" con "<" per ottenere un ordinamento decrescente:
            If MyArray(j) > MyArray(j + 1) Then
                Temp = MyArray(j)
                MyArray(j) = MyArray(j + 1)
                MyArray(j + 1) = Temp
            End If
        Next j
    Next ii
    
    ' Visualizza i numeri singoli in una Lbl:
    For y = 0 To UBound(MyArray)
        risult2 = risult2 & Space(2) & MyArray(y)
    Next y
   ' Label6(7).Caption = risult2
End Sub
'------------------------------------------------
' Rimuove i numeri doppi dalla List2 e li inserisce in List3:
Sub RimuoviDupl(LB As ListBox)
    Dim c As New Collection
    Dim X As Long
    Dim y As String
    Dim j As Integer
    Dim jj As Integer
    Dim NC As Single
    
    On Error Resume Next
    
    If LB.ListCount > 1 Then
        For X = 0 To LB.ListCount - 1
            y = LB.List(X)
            c.Add y, y
            If Err Then
                List3.AddItem c.Item(y)
                Err.Clear
            End If
        Next X
        
        LB.Clear
        
        For X = 1 To c.count
            LB.AddItem c.Item(X)
        Next X
            
            ' Elimina da List2 i numeri contenuti in List3 (Tripli):
            For j = 0 To (List3.ListCount - 1)
                NC = List3.List(j)
                For jj = 0 To (List2.ListCount - 1)
                    If List2.List(jj) = NC Then
                        List2.RemoveItem (jj)
                    End If
                Next jj
            Next j
    End If
Set c = Nothing
End Sub

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 20:40
Lunedì, 09/03/2009
mmmm... si ma io ti avevo chiesto il codice del button che ti fa procedere se la pass è corretta...

PM Quote
Avatar
ffranco (Normal User)
Newbie


Messaggi: 6
Iscritto: 08/03/2009

Segnala al moderatore
Postato alle 20:53
Lunedì, 09/03/2009
...sorry
Private Sub Conferma1_Click()

If Entrata.text = "" & Password.text Then

Password.text = ""
Password.SetFocus
frmPrincipale.Show
Else
MsgBox "Password non corretta!!, si prega di ripetere Grazie", vbCritical
Password.text = ""
Password.SetFocus
End If

End Sub

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo