Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Eseguibile e librerie

  1. #1
    Utente di HTML.it L'avatar di fiber81
    Registrato dal
    Oct 2002
    Messaggi
    328

    Eseguibile e librerie

    Ho costruito un semplice programma che interroga un database, vi spiego cosa è contenuto nel form perchè il problema che se creo l'eseguibile sul mio pc(winxp) funziona , se lo metto su un altro(win2000) no .
    Allora ho un datagrid, adodc, datacombo, recordset adodb.
    Il progetto è un exe standard.

    Se copio l'eseguibile sull'altro pc non va perchè dice che mancano delle librerie, allora ho creato un file di installazione ma si blocca dicendo che non riesce ad aggiornare dei file di sistema, a questo punto ho preso le librerie che mancavano, le ho copiate e registrate. Il programma si avvia ma ha due problemi:
    1. Lo sfondo non è del colore giusto.
    2. Quando elimino una riga dal datagrid mi cancella tutti i record presenti nel datagrid.
    Qualcuno ha qualche idea?

    Grazie
    Ci sono 10 tipi di persone al mondo, quelli che conoscono la numerazione binaria e quelli che non la conoscono!

  2. #2
    Il programma è stato scritto VB6 o VB.NET?
    Per prima cosa ti serve creare una procedura di installazione, se fai una ricerca sul forum trovi svariate soluzioni per questo.
    Per il punto 1: lo sfondo di cosa? Del form? O di un controllo in particolare?
    2: così è difficile che qualcuno ti aiuti, dovresti postare un po' di codice...
    Chi non cerca trova.

  3. #3
    Utente di HTML.it L'avatar di fiber81
    Registrato dal
    Oct 2002
    Messaggi
    328
    è stato scritto in vb6. Lo sfondo è del form, e l'unico codicè che c'è è questo:

    Private Sub esci_Click()
    Set AdoPc = Nothing
    Set AdoSpool = Nothing
    Unload Me
    End Sub

    Private Sub Form_Load()

    Call CentraForm(Principale)
    Call connetti

    AdoPc.ConnectionString = ConnStr
    AdoPc.RecordSource = "SELECT DISTINCT Macc FROM SpoolInfo"
    AdoPc.Refresh
    Set pc.DataSource = AdoPc

    End Sub




    Sub scegliPc_Click()
    Call Costo


    On erro GoTo errpc
    With Principale
    If pc.Text <> "" Then

    PauseTime = 0.5 ' Imposta la durata.
    Start = Timer
    Do While Timer < Start + PauseTime
    DoEvents ' Passa il controllo ad altri processi.
    Loop


    .Dati.Visible = True
    .AdoSpool.ConnectionString = ConnStr
    .AdoSpool.RecordSource = "SELECT Macc,User,Date,Time,NrPagine,Prezzo_s,Prezzo_ns FROM SpoolInfo WHERE Macc='" & .pc.Text & "'"
    .AdoSpool.Refresh

    Set .Dati.DataSource = .AdoSpool


    .Dati.Columns(0).Caption = "Computer"
    .Dati.Columns(1).Caption = "Utente"
    .Dati.Columns(2).Caption = "Data"
    .Dati.Columns(3).Caption = "Ora"
    .Dati.Columns(4).Caption = "Nr. Pagine"
    .Dati.Columns(5).Caption = "Prezzo Soci"
    .Dati.Columns(6).Caption = "Prezzo NON Soci"

    .Dati.Columns(0).Alignment = dbgLeft
    .Dati.Columns(1).Alignment = dbgLeft
    .Dati.Columns(2).Alignment = dbgLeft
    .Dati.Columns(3).Alignment = dbgLeft
    .Dati.Columns(4).Alignment = dbgRight
    .Dati.Columns(5).Alignment = dbgRight
    .Dati.Columns(6).Alignment = dbgRight

    .Dati.Columns(0).Width = 2300
    .Dati.Columns(1).Width = 1000
    .Dati.Columns(2).Width = 1200
    .Dati.Columns(3).Width = 850
    .Dati.Columns(4).Width = 1000
    .Dati.Columns(5).Width = 1100 'prezzo soci
    .Dati.Columns(6).Width = 1500 'prezzo non soci

    End If
    End With

    AdoPc.ConnectionString = ConnStr
    AdoPc.RecordSource = "SELECT DISTINCT Macc FROM SpoolInfo"
    AdoPc.Refresh
    Set pc.DataSource = AdoPc

    GoTo e

    errpc:
    MsgBox "Impossibile leggere il database, controllare le impostazioni.", vbExclamation

    e:
    End Sub


    Sub connetti()
    On Error GoTo ErrLoad

    Dim cmPath As String
    Dim FileLine As String
    Dim fs As Object
    Dim a As Object

    cmPath = CurDir

    If Len(cmPath) > 0 Then
    If Right(cmPath, 1) <> "\" Then
    cmPath = cmPath & "\"
    End If
    End If



    Open cmPath & "Spool.ini" For Input As #1
    While Not EOF(1)
    Line Input #1, FileLine
    Select Case Left(FileLine, 8)
    Case "ConnStr ": ConnStr = Right(FileLine, Len(FileLine) - 11)
    Case "Prezzos ": prezzos = Right(FileLine, Len(FileLine) - 11)
    Case "Prezzons": prezzons = Right(FileLine, Len(FileLine) - 11)
    End Select
    Wend
    Close #1

    Exit Sub
    ErrLoad:

    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.CreateTextFile(cmPath & "Spool.ini", True)
    a.Close

    Open cmPath & "Spool.ini" For Output As #2
    Print #2, "ConnStr = Spool"
    Print #2, "Prezzos = 0,04"
    Print #2, "Prezzons = 0,05"
    Close #2

    Call connetti


    End Sub



    Sub Costo()

    On Error GoTo ErrDb
    With Rs
    .ActiveConnection = ConnStr
    .LockType = adLockOptimistic
    .Open "SELECT NrPagine,Prezzo_s,Prezzo_ns FROM SpoolInfo"
    Rs.MoveFirst
    While Not Rs.EOF
    Rs![prezzo_s] = prezzos * CInt(Rs![NrPagine])
    Rs![prezzo_ns] = prezzons * CInt(Rs![NrPagine])
    Rs.Update
    Rs.MoveNext
    Wend

    .Close
    End With
    Exit Sub

    ErrDb:

    MsgBox "Impossibile leggere il database, controllare le impostazioni.", vbExclamation


    End Sub

    Public Sub CentraForm(frm As Form)

    frm.Left = (Screen.Width - frm.Width) / 2
    frm.Top = (Screen.Height - frm.Height) / 2



    End Sub

    La procedura di installazione l'ho creata con Creazione guidata pacchetti di installazione, mi ha anche creato nella dir support l'installazione microsoft access component.
    Ci sono 10 tipi di persone al mondo, quelli che conoscono la numerazione binaria e quelli che non la conoscono!

  4. #4
    Se non hai modificato il colore di sfondo del form (proprietà BackColor = &H8000000F&) esso appare con il colore definito nelle proprietà dello schermo. Se questo colore è stato cambiato dall'utente del pc, tutti i programmi avranno questo colore. Se il colore strano ce l'ha solo il tuo form... allora è tutto molto strano!
    Riguardo al codice da te postato: non mi sembra ci sia niente di sbagliato (a parte il fatto che se tu avessi usato il tag CODE mentre scrivevi il post sarebbe stato tutto mooolto più comprensibile...), del resto la cancellazione del record viene eseguita dalla datagrid stessa. Ma nel tuo pc funziona bene?
    Cmq prova a risolvere per bene i problemi di installazione, al posto di "Creazione guidata pacchetti di installazione" prova ad usare MS Visual Studio Installer 1.1, se ne è già parlato in vari thread che puoi trovare facendo una bella ricerca sul forum
    Chi non cerca trova.

  5. #5
    Utente di HTML.it L'avatar di fiber81
    Registrato dal
    Oct 2002
    Messaggi
    328
    Grazie mille, ora provo.
    Scusa per il CODE
    Ci sono 10 tipi di persone al mondo, quelli che conoscono la numerazione binaria e quelli che non la conoscono!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.