Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291

    VB6 - Win2000

    Ho scritto un prog. con VB6 sviluppato su un computer che ha come SO Win_XP; tutto funziona correttamente con i SO XP e Win_Me (ambedue i SO sono aggiornati); ora dovrei installarlo su un computer che ha Win_2000. Ritengo che il predetto SO non sia aggiornato.
    I primi problemi li ho riscontrati con la connessione al DB Access, poi superati con l'inserimento dell'appropriato MDAC_TYP.
    Allo stato rilevo due inconvenienti:
    - nonostante che la connessione al DB avvenga correttamente, in fase di stampa ed anteprima di stampa, con l'utilizzo del controllo DataReport, emerge il messaggio: "Errore determinato dall'Oggetto o dall'applicazione, ....";
    - non trova la Calcolatrice, anche se la medesima è installata sul computer. Il comando attuale in Win_XP è: fn = "C:\Windows\system32\CALC.EXE" .
    Scusatemi se devo far leva sulla Vs. esperienza, ma non ho disponibile il SO Win_2000 e l'intelocutore è distante e ciò mi impedisce il riscontro diretto degli errori.
    Pensate che il primo inconveniente sia dovuto al SO non aggiornato o cos'altro ?
    Grazie per l'aiuto.
    LM

  2. #2
    Per quel che riguarda la calcolatrice...

    codice:
    Option Explicit
    Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long _
        , ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
    Private Declare Function SHGetPathFromIDList Lib "shell32.dll" _
        Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
    
    Private Const CSIDL_DESKTOP = &H0     ' Desktop
    Private Const CSIDL_PROGRAMS = &H2    ' Programmi
    Private Const CSIDL_FAVORITES = &H6   ' Preferiti
    Private Const CSIDL_STARTUP = &H7     ' Esecuzione automatica
    Private Const CSIDL_RECENT = &H8      ' Recenti
    Private Const CSIDL_SENDTO = &H9      ' SendTo
    Private Const CSIDL_STARTMENU = &HB   ' StartMenu
    Private Const CSIDL_FONTS = &H14      ' Fonts
    Private Const CSIDL_TEMPLATES = &H15  ' Modelli
    Private Const CSIDL_NETHOOD = &H13    ' Risorse di rete
    Private Const CSIDL_PERSONAL = &H5    ' MyDocuments
    
    Private Function GetSpecialfolder(CSIDL As Long) As String
        ' Directory speciali
        
        Dim sRetVal As String
        Dim lRetVal As Long
        Dim IDL As ITEMIDLIST
        
        ' ottiene la lista delle directory
        lRetVal = SHGetSpecialFolderLocation(100, CSIDL, IDL)
        
        If lRetVal = 0 Then
        
            ' Inizializza la stringa
            sRetVal = Space$(512)
        
            ' recupera il path dalla lista
            lRetVal = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal sRetVal)
            If InStr(sRetVal, Chr$(0)) > 0 Then sRetVal = Left$(sRetVal, InStr(sRetVal, Chr$(0)) - 1)
        
            ' return
            GetSpecialfolder = sRetVal
        End If
    End Function
    
    Private Function VisualizzaCartellaProgrammi() As String
        VisualizzaCartellaProgrammi= GetSpecialfolder(CSIDL_PROGRAMS)
    End Sub
    e in un modulo...
    codice:
    Public Type SHITEMID
    cb As Long 'Size of the ID (including cb itself)
    abID As Byte 'The item ID (variable length)
    End Type
    
    Public Type ITEMIDLIST
    mkid As SHITEMID
    End Type
    Con questo codice (che ho trovato qui tempo fa) ottieni il percorso della cartella programmi, che varia a seconda del SO.


  3. #3
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Luciano79, grazie ma non vorrei appesantire troppo il prog. ...
    In considerazione che la chiamata alla Calcolatrice funziona sia in Win_Me sia, in Win_XP - se usi Win_2000 (o altri che usano tale sistema) potresti/potreste modificare il seguente codice?
    codice:
    If strCheck2 = True Then
            RetVal = Shell("C:\WINDOWS\System32\CALC.EXE", 1)
            ElseIf strCheck2 = False Then
            MsgBox "Il programma Calc.exe non é installato sul computer." & Chr(13) _
            & "Impossibile continuare!", vbExclamation, "Prova Win_XP"
        End If
    Ciò che mi preme di più, però, è il primo quesito:
    codice:
    - nonostante che la connessione al DB avvenga correttamente, in fase di stampa ed anteprima di stampa, con l'utilizzo del controllo DataReport, emerge il messaggio: "Errore determinato dall'Oggetto o dall'applicazione, ...."
    Hai qualche idea al riguardo?
    LM

  4. #4
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Signori, possibile che nessuno di Voi usi Win_2000 ed abbia rilevato l'errore:
    - nonostante che la connessione al DB avvenga correttamente, in fase di stampa ed anteprima di stampa, con l'utilizzo del controllo DataReport, emerge il messaggio: "Errore determinato dall'Oggetto o dall'applicazione, .... "
    LM

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.