Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB6] bug timer multimedia?

    Il codice qui sotto semplicemente esegue una stampa in una picture box e sposta un controllo. Il tutto avviene con il timer multimediale cioè ad intervalli di tempo regolari stampa e sposta. Ora il problema è : nell'IDE di VB6 tutto OK ma compilando l'eseguibile PATATRACK..non c'è verso. Se qualcuno ha voglia di provare il codice sia nell'ide (di VB6) sia compilato e mi facesse sapere gli sarei grato.

    CODICE DA INSERIRE IN UN MODULO:
    ************************************************** ****
    codice:
    Declare Function timeBeginPeriod& Lib "winmm.dll" (ByVal uPeriod&)
    Declare Function timeEndPeriod& Lib "winmm.dll" (ByVal uPeriod&)
    Declare Function timeGetDevCaps& Lib "winmm.dll" (lpTimeCaps As TIMECAPS, ByVal uSize&)
    Declare Function timeKillEvent& Lib "winmm.dll" (ByVal uId&)
    Declare Function timeSetEvent& Lib "winmm.dll" (ByVal uDelay&, ByVal uResolution&, ByVal lpFunction&, ByVal dwUser&, ByVal uFlags&)
    
    Public TimerIDdet As Long 'id del timer
    Public NewTempoSec As Long 'ogni quanto si attiva (in ms)
    Public BestResolution As Long 'capacità del timer multimediale del sistema
    
    Type TIMECAPS
         wPeriodMin As Long
         wPeriodMax As Long
    End Type
    
    Public Sub dettatoProc(ByVal uId&, ByVal uMsg&, ByVal dwUser&, ByVal dw1&, ByVal dw2&)
    'il timer chia,ma questa funzione ogni volta che si attiva(ogni NewTempoSec ms)
    Form1.Command2.Left = Form1.Command2.Left + 100
    Form1.Picture1.Print "a"
    End Sub
    Public Function HighResTimer() As Boolean
    
        Dim Rv As Long
        Dim TC As TIMECAPS
    
        ' Get The Capabilities Of A Multi Media Timer.
        Rv = timeGetDevCaps(TC, Len(TC))
      
           ' Find The Best Resolution Available. (Most Likely One Millisecond).
           BestResolution = TC.wPeriodMin
           ' Set That Resolution.
           ' Note: Every "timeBeginPeriod" Must Be Followed (Somewhere In The Code) By a "timeEndPeriod".
           Rv = timeBeginPeriod(BestResolution)
           
    End Function
    ************************************************** *******************
    Poi in un form inserire una picture box , due command button e inserire il seguente codice:
    ************************************************** ******************
    codice:
    Private Sub Command1_Click()
      'imposta ogni quanto si attiva il timer (millisecondi)
      NewTempoSec = 300
      'fa partire il timer
      TimerIDdet = timeSetEvent(NewTempoSec, BestResolution, AddressOf dettatoProc, 0, 1)
    End Sub
    
    Private Sub Form_Load()
      'recupera la capacità del timer multimediale
      HighResTimer
    End Sub
    
    Private Sub Form_Unload(Cancel As Integer)
     'spegne il timer
      timeKillEvent TimerIDdet
      timeEndPeriod (BestResolution)
    End Sub
    ************************************************** ***************
    Premendo sul command1 il timer parte e il command2 si sposta mentre nella picture box viene stampata una a. Bene nell'eseguibile non funziona !!!!!!!!!!! secondo me è un bug

    AH! in VB.NET tutto è OK e se qualcuno potesse compilarlo con VB5 e farmi sapere..


  2. #2
    Beh? Qualcuno che faccia un copia e incolla? non chiedo di risolvere il problema ma solo se anche ad altri l'exe non funziona. perchè se così non fosse allora il problema c'è l'ho io col mio computer o con il mio VB6.

    Dai per favore
    Porto il mio pallone la prossima volta che si gioca dai...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271
    Ho provato e in eseguibile da errore anche a me (lavoro con Win2000).
    Mi dice che "La memoria non poteva essere read"
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

  4. #4
    Grazie.
    Altri?
    Ora se nell'IDE tutto OK ma l'eseguibile non và , può trattarsi di un bug nella compilazione?

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.