logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

VBA - Funkcja Sleep wywołuje błąd PInvoke w programie

Kirgis 09 Sty 2018 00:30 1062 5
REKLAMA
  • #1 16946965
    Kirgis
    Poziom 2  
    Posty: 4
    Siema
    Nie mogę sobie poradzić z takim problemem.
    Użyłem funkcji sleep i po zrealizowaniu opóźnienia program wywala z takim oto komunikatem:

    Wywołanie funkcji PInvoke 'Generator liczb losowych!WindowsApplication1.frm_generator::Sleep' zachwiało równowagą stosu. Prawdopodobna przyczyna to niedopasowanie zarządzanego podpisu funkcji PInvoke i niezarządzanego podpisu docelowego. Sprawdź, czy konwencja wywołania i parametry podpisu funkcji PInvoke pasują do niezarządzanego podpisu docelowego.

    Dodam jeszcze, że zanim nie wrzuciłem tego:

    #If VBA7 Then
    Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 'For 64 Bit Systems
    #Else
    Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'For 32 Bit Systems
    #End If

    Program nie chciał się skompilować i wywalało taki błąd :

    Error 1 'Sleep' is not declared. It may be inaccessible due to its protection level.

    Z góry dziękuję za wszelką pomoc.
  • REKLAMA
  • #2 16947052
    JRV
    Specjalista - VBA, Excel
    Posty: 2724
    Pomógł: 805
    Ocena: 455
    Jaka wersje office?
    Windows 32 lub 64 bitowy?
  • REKLAMA
  • #3 16947241
    Kirgis
    Poziom 2  
    Posty: 4
    System 64-bitowy
    Microsoft Visual Basic 2010 Express
  • REKLAMA
  • Pomocny post
    #4 16947269
    JacekCz
    Poziom 42  
    Posty: 8670
    Pomógł: 760
    Ocena: 1464
    Chyba/na pewno powinieneś szukać w obszarze .NET frameworku:

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    EDIT: w temacie jest VBA więc chyba błędnie
  • REKLAMA
  • Pomocny post
    #5 16947618
    JRV
    Specjalista - VBA, Excel
    Posty: 2724
    Pomógł: 805
    Ocena: 455
    JacekCz napisał:
    EDIT: w temacie jest VBA więc chyba błędnie
    @Kirgis Tak, sprzecyzuj
  • #6 16952313
    Kirgis
    Poziom 2  
    Posty: 4
    Ja pierdzielę ale ze mnie lama nawet nie wiem w czym piszę :) ale teraz jest wszystko jasne. Dzięki chłopaki i przepraszam za zamieszanie.
REKLAMA