Ergebnis 1 bis 2 von 2

Thema: Runtime 2010 Laufzeitfehler (Office 2010)

  1. #1
    Office-Hilfe.com - Neuling
    Registriert seit
    13.01.2020
    Beiträge
    5

    Runtime 2010 Laufzeitfehler

    Hallo gemeinde,

    Nach langem suchen hab ich nun das Modul ausgemacht welches bei der RT Version zum Laufzeitfehler führt.
    Allerdings finde ich da den Fehler nicht. Im Direktfenster funzt alles so wie es soll. Die runtime schmiert ab.

    Hier mal der verwendete Code

    Code:
    Option Compare Database
    Option Explicit
    
    Private Declare Function GetVolumeInformation Lib "kernel32" Alias _
        "GetVolumeInformationA" (ByVal lpRootPathName As String, _
                                 ByVal pVolumeNameBuffer As String, _
                                 ByVal nVolumeNameSize As Long, _
                                 lpVolumeSerialNumber As Long, _
                                 lpMaximumComponentLength As Long, _
                                 lpFileSystemFlags As Long, _
                                 ByVal lpFileSystemNameBuffer As String, _
                                 ByVal nFileSystemNameSize As Long) As Long
    
    Const MAX_FILENAME_LEN As Long = 256&
    
    Public Function SerNum() As Long
        Dim No As Long, s As String
       
        GetVolumeInformation "c:\", s, MAX_FILENAME_LEN, No, 0&, 0&, s, _
                             MAX_FILENAME_LEN
        SerNum = No
    End Function
    Im Direkt Fenster Aufruf "?sernum zeigt mir das ergebnis auch korrekt an.

    lg Diskus123

  2. #2
    Office-Hilfe.com - Profi
    Registriert seit
    24.11.2008
    Beiträge
    2.239
    Hallo,

    kann es vielleicht an der Stringkonstante "vbNullString" gelegen sein?

    Code:
    Option Compare Database
    Option Explicit
    
    Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" _
                                (ByVal lpRootPathName As String, _
                                 ByVal lpVolumeNameBuffer As String, _
                                 ByVal nVolumeNameSize As Long, _
                                 lpVolumeSerialNumber As Long, _
                                 lpMaximumComponentLength As Long, _
                                 lpFileSystemFlags As Long, _
                                 ByVal lpFileSystemNameBuffer As String, _
                                 ByVal nFileSystemNameSize As Long) As Long
    
    Public Function SerNum() As Long
        Dim No As Long, Ret As Long
       
        Ret = GetVolumeInformation(lpRootPathName:="C:\", _
                             lpVolumeNameBuffer:=vbNullString, _
                             nVolumeNameSize:=0, _
                             lpVolumeSerialNumber:=No, _
                             lpMaximumComponentLength:=0, _
                             lpFileSystemFlags:=0, _
                             lpFileSystemNameBuffer:=vbNullString, _
                             nFileSystemNameSize:=0)
       'Debug.Print "Ret="; Ret
        SerNum = No
    End Function
    
    'vbNullString:
    'Zeichenfolge mit dem Wert 0
    'Nicht gleichbedeutend mit einer Zeichenfolge der Länge null (""); wird zum Aufrufen externer Prozeduren verwendet
    
    Liebe Grüße
    Anton Exl

    Windows 10 (x64)
    Office 2016 Professional Plus

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Excel Ticker - News, Tipps und Tricks zu Microsoft Excel