Newsgroup: it.comp.lang.visual-basic
Titolo: Windows 10 e programmi scritti in VB6

Salve a tutti :-)
 
Non credo ci siano problemi particolari...
ma qualcuno ha già fatto qualche prova?
 
 
-- 
Daniele Pinna
DAPINNA.COM
 
(leva oops per rispondere)
-----
Utente Skype: dapinna
DAPINNA.COM
        :  
http://www.dapinna.com
 
Il Docfa in Pillole:  
http://www.ildocfainpillole.it
 - Sito Aggiornato!!!
DAPINNA.COM
 su Facebook: 
https://www.facebook.com/dapinnadotcom
 
BLOG: 
http://storielaboratorioinformatica.wordpress.com
 


Ne ho provati un 4 o 5 e funzionano tutti normalmente
 
 
 
 
 
-- 
http://freewarewiki.it
 
http://freewareonline.org
 
http://netuser.altervista.org
 
 

 Ne ho provati un 4 o 5 e funzionano tutti normalmente
 
Ottimo. Usavano un DB Access?
 
Questa sera provo su un PC Virtuale dove ho installato la Insider 
Preview, ma che ho provato poco e sempre senza l'installazione del 
programma che mi interessava :-)



Sì, anche, usando il DAO, ma io utilizzo l'avvio stand-alone, cioè uso un tool che crea il file .manifest per ottenere 
un pacchetto auto-consistente, senza dipendenze esterne.
http://freewareonline.altervista.org/wiki/index.php/Make_My_Manifest
 


 ma qualcuno ha già fatto qualche prova?
 
VB6 dovrebbe rientrare, come già sotto Vista, 7 e 8.1,
nel supporto "It Just Works" fino al 2024, da quello
che ho letto su uno dei blog MSDN, che ora come al
solito non ritrovo. La dichiarazione fino a 8.1 è qui:
https://msdn.microsoft.com/en-us/vstudio/ms788708
 
 
Un riferimento è qui:
http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3440221-bring-back-classic-visual-basic-an-improved-versi
 
[...] VB6 runtime it is still a component of the Windows
operating system and is a component shipped in Windows
8.1. It will be supported at least through 2024 [...]
 
Bye, G. 
 
 

 nel supporto "It Just Works" fino al 2024
 
Altro link interessate:
https://portal.greatmigrations.com/pages/viewpage.action?pageId=3965653
 
 
Bye, G. 
 
 

Una applicazione non scrive i file .... se non lanciata ' COME 
AMMINISTRATORE '
ma succedeva  gia con Windows 7
 
 
"Daniele Pinna (Ufficio)"  ha scritto nel messaggio 
news:mpg8vr$73h$1...@virtdiesel.mng.cu.mi.it...

---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 
 

 ma qualcuno ha già fatto qualche prova?
 
Invece proprio VB6 l'avete già messo? Fino a Win8.1 son riuscito a 
farlo girare (per fortuna altimenti da un mio cliente era un 
delirio!!).
 
-- 
Al3xI98O
«L'importante non è cadere, ma sapersi rialzare»

 ma qualcuno ha già fatto qualche prova?
 
Intanto ringrazio tutti per le risposte :-)
 
Alla fine sono riuscito a provare quel programma, ma solo in parte.
Si installa ma poi ho, per mio errore, si chiude in quanto non riconosce 
il sistema operativo e quindi non sa dove trovare il DB (che si trova in 
un determinato percorso su XP, in un altro su Vista/7/8, in pratica 
nella cartella %programdata% ).
:-)
 
Ovviamente dovrò fare solo una piccola modifica (spero... :-) )


 girare (per fortuna altimenti da un mio cliente era un delirio!!).
 
Io ho provato su Win7 Prof X64, ma ho avuto problemi.
Dato che a casa, dove uso prevalentemente Linux, uso una Macchia 
Virtuale con XP su cui ho installato VB6, alla fine su Win7 ho attivato 
l'XP Mode e ci ho installato anche li il VB6 :-)
 
Non è molto comodo, ma la programmazione non è la mia attività 
principale :-)


 Ovviamente dovrò fare solo una piccola modifica (spero... :-) )
 
Aggiornamento
 
La piccola modifica è stata fatta e il programma funziona correttamente.
Visto che c'ero ho riscritto la funzione che riconosce il sistema
operativo rendendola più completa (come versioni) ed efficiente (select
case al posto di vari if/elseif etc).
 
Noto però una cosa:
Windwso 10 invece di venir riconosciuto come 10.0.10240 viene
riconosciuto come 6.2.9200, insomma come se fosse Windows 8
https://it.wikipedia.org/wiki/Windows_8
  (il numero di versione si legge
nella colonna di destra)
 
Da cosa può dipendere?
 
Il codice che uso per leggere la versione del S.O. è il seguente
 
 
 
 
---
Public Function GetWindowsVersion() As Long
    Dim OSInfo As OSVERSIONINFO
    Dim RetValue As Long
    OSInfo.dwOSVersionInfoSize = 148
    OSInfo.szCSDVersion = Space$(128)
    RetValue = GetVersionEx(OSInfo)
    With OSInfo
 
            'SOLO PER TEST
            MsgVerbose "S.O.: PlatformId=" & .dwPlatformId & " -
MajorVersion=" & .dwMajorVersion & " - MinorVersion=" & .dwMinorVersion
& " - Build=" & .dwBuildNumber & _
            " - OSVersionInfoSize=" & .dwOSVersionInfoSize & " -
CSDVersion=" & .szCSDVersion
 
 
        Select Case .dwPlatformId
            Case VER_PLATFORM_WIN32_WINDOWS 'Win9X
 
                Select Case CStr(.dwMajorVersion) & "." &
CStr(.dwMinorVersion)
 
                    Case "4.0": GetWindowsVersion = WINDOWS_95
                    Case "4.1": GetWindowsVersion = WINDOWS_98
                    Case "4.9": GetWindowsVersion = WINDOWS_ME
 
                Case Else
                    GetWindowsVersion = UNKNOWN_OS
                    MsgVerbose "S.O. Sconosciuto: " & .dwMajorVersion &
" " & .dwMinorVersion & " " & .dwBuildNumber
                End Select
 
 
            Case VER_PLATFORM_WIN32_NT  'WinNT
 
                Select Case CStr(.dwMajorVersion) & "." &
CStr(.dwMinorVersion)
 
                Case "3.1": GetWindowsVersion = WINDOWS_NT_3_1
                Case "3.5": GetWindowsVersion = WINDOWS_NT_3_5
                Case "3.51": GetWindowsVersion = WINDOWS_NT_3_51
                Case "4.0": GetWindowsVersion = WINDOWS_NT_4
                Case "5.0": GetWindowsVersion = WINDOWS_2000
                Case "5.1": GetWindowsVersion = WINDOWS_XP
                Case "5.2": GetWindowsVersion = WINDOWS_SVR_2K3
                Case "6.0": GetWindowsVersion = WINDOWS_VISTA
                Case "6.1": GetWindowsVersion = WINDOWS_SEVEN
                Case "6.2": GetWindowsVersion = WINDOWS_8
                Case "6.3": GetWindowsVersion = WINDOWS_81
                Case "10.0": GetWindowsVersion = WINDOWS_10
 
                Case Else
                    GetWindowsVersion = UNKNOWN_OS
                    MsgVerbose "S.O. Sconosciuto: " & .dwMajorVersion &
" " & .dwMinorVersion & " " & .dwBuildNumber
                End Select
 
            Case Else
                GetWindowsVersion = UNKNOWN_OS
                MsgVerbose "S.O. Sconosciuto: " & .dwMajorVersion & " "
& .dwMinorVersion
        End Select
    End With
End Function
---
 
 
 
Solo per test sto lasciando decommentata l'istruzione che stampa i dati
che rileva da OSInfo.
 
Non so se può influire... il programma l'ho compilato da Windows XP
 
 
 
-- 
Daniele Pinna  (leva oops. per rispondere)
Utente Skype: dapinna
Sito Web: 
http://www.dapinna.com
 
Il Docfa in Pillole:  
http://www.ildocfainpillole.it
 
DAPINNA.COM
 su Facebook: 
https://www.facebook.com/dapinnadotcom
 
Blog - Storie di un Laboratorio di Informatica:
http://storielaboratorioinformatica.wordpress.com
 
-----
*** Powered by Linux KUbuntu 14.04 LTS "Trusty Tahr" ***

 ha scritto nel messaggio news:mr5buf$h2c$1...@virtdiesel.mng.cu.mi.it...

Se posso azzardare un'ipotesi, penso che derivi dal fatto che VB6 compila a 32bit e il sistema invece è a 64bit



No... Questa versione è a 32bit.
E' la Insider Preview che si è aggiornata alla ufficiale... e gira sotto
Virtual Box (sotto Linux). Dato che alla Macchina Virtuale avrei dato
solo 2 GB di RAM, ho scelto di installare la 32bit
 
 
Nello stesso PC ho Windows 10 64bit installato come aggiornamento da
Win7... dopo provo li.
 
Cmq, pensando che fosse qualche problema del Programma, ho fatto un
nuovo programma solo con una finestra, delle Label e il codice per
determinare la versione... stesso problema.
 
Ho copiato un altro codice (che però usa la stessa libreria, non
indicata nell'esempio)
 
---
 
Private Declare Function GetVersionEx Lib "kernel32" Alias
"GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
 
Type OSVERSIONINFO
  dwOSVersionInfoSize As Long       'Dimensioni della struttura
  dwMajorVersion As Long            'indicano la versione del SO (ad
esempio NT 4.0:
  dwMinorVersion As Long            'dwMajorVersion = 4; dwMinorVersion = 0)
  dwBuildNumber As Long             'identifica il codice di revisione
("built code")
  dwPlatformId As Long              'Contiene uno dei seguenti flags che
identifica il tipo di piattaforma ( 
p.es
. Windows 95, Windows NT, etc.)
  szCSDVersion As String * 128      'stinga che contiene informazioni
aggiuntive (come ad esempio la presenza di un Service Pack)
End Type
 
 
'Seguono Flags dwPlatformId
Public Const VER_PLATFORM_WIN32s = 0         'Windows 3.x is running,
using the Win32s pseudo-32-bit enhancements.
Public Const VER_PLATFORM_WIN32_WINDOWS = 1  'Windows 95 or 98 is running.
Public Const VER_PLATFORM_WIN32_NT = 2        'Windows NT is running.
 
---
 
 
Non contento ho provato ad usare un altro codice copiato da un sito:
 
http://stackoverflow.com/questions/4839210/how-can-i-determine-the-windows-version-from-a-vb-6-app
 
 
Che però usa ugualmente la stessa libreria e lo stesso tipo di dati
personalizzato OSVERSIONINFO, quindi ho provveduto a rinominare il
secondo metodo mettendo un 2 finale.
 
 
Ho zippato la cartella e l'ho condivisa su Dropbox... se qualcuno lo
vuole prendere per fare le verifiche
https://www.dropbox.com/s/xkvsu9oj93i6y5c/VersioneWindows.zip?dl=0
 
 
C'è sia il file compilato che il sorgente



 
How to get the OS version in Win8.1/Win10 as GetVersion/GetVersionEx are deprecated?
https://msdn.microsoft.com/it-it/library/windows/desktop/dn424972(v=vs.85).aspx
 


 
https://msdn.microsoft.com/it-it/library/windows/desktop/dn424972(v=vs.85).aspx
 
 
OK, grazie... :-)
 
Peccato non ci sia un esempio pronto in VB
 
Sto provando a ricostruire la funzione... Mi sono fermato a
dwlConditionMask che va ottenuto richiamando un'altra funzione:
VerSetConditionMask
 
Riprendo domani (forse... :-) )
