vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2015
 
zurück
Rubrik: Windows/System22.03.05
CommDlgExtendedError-Funktion

Diese Funktion ermittelt den letzten Fehlercode einer Standard-Dialogbox wie z.B. des Druckerdialogs oder des Standarddialogs zum Öffnen einer Datei.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  4.231 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise über 100,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 455,- EUR statt 569,- EUR
  • sevDTA 2.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 18,70 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 58,70 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Deklaration:

    Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long

    Beschreibung:
    Diese Funktion ermittelt den letzten Fehlercode einer Standard-Dialogbox wie z.B. des Druckerdialogs oder des Standarddialogs zum Öffnen einer Datei.

    Parameter:
    keine

    Rückgabewert:
    Wurde der Dialog ohne eine Auswahl geschlossen dann ist die Rückgabe "0". War der Aufruf eines Standarddialogs nicht erfolgreich so ist die Rückgabe ein Fehlercode der mittels der Rückgabe-Konstanten ausgewertet werden kann. Wurde der Dialog erfolgreich beendet und eine Auswahl getroffen so ist die Rückgabe undefiniert.

    Rückgabekonstanten:

    Const CDERR_DIALOGFAILURE = &HFFFF
    ' Der Dialog kann nicht geöffnet werden
     
    Const CDERR_FINDRESFAILURE = &H6
    ' Eine benötigte Ressource kann nicht gefunden werden
     
    Const CDERR_GENERALCODES = &H0
    ' Eine Eigenschaft konnte nicht gelesen werden
     
    Const CDERR_INITIALIZATION = &H2
    ' Nicht genug Speicher
     
    Const CDERR_LOADRESFAILURE = &H7
    ' Eine benötigte Ressource kann nicht geladen werden
     
    Const CDERR_LOADSTRFAILURE = &H5
    ' Ein benötigter String kann nicht gefunden werden
     
    Const CDERR_LOCKRESFAILURE = &H8
    ' Die benötigte Ressource kann nicht gelockt werden
     
    Const CDERR_MEMALLOCFAILURE = &H9
    ' Es kann kein Speicher zugewiesen werden
     
    Const CDERR_MEMLOCKFAILURE = &HA
    ' Der benötigte Speicher kann nicht gelockt werden
     
    Const CDERR_NOHINSTANCE = &H4
    ' Es wurde kein gültiges Instanzhandle übergeben
     
    Const CDERR_NOHOOK = &HB
    ' Es wurde keine gültige Hookfunktion angegeben
     
    Const CDERR_NOTEMPLATE = &H3
    ' Es wurde kein gültiges Template angegeben
     
    Const CDERR_REGISTERMSGFAIL = &HC
    ' Eine Fensternachricht konnte nicht registriert werden
     
    Const CDERR_STRUCTSIZE = &H1
    ' Die Strukturgröße ist ungültig
     
    Const CFERR_CHOOSEFONTCODES = &H2000
    ' Ein Fehler ist beim ChooseFont Dialog aufgetreten
     
    Const CFERR_MAXLESSTHANMIN = &H2002
    ' Die maximale Fontgröße ist größer als die minimale Fontgröße
     
    Const CFERR_NOFONTS = &H2001
    ' Es wurden keine existierenden Fonts gefunden
     
    Const FNERR_BUFFERTOOSMALL = &H3003
    ' Der Puffer, um die Dateinamen zu empfangen, ist zu klein
     
    Const FNERR_FILENAMECODES = &H3000
    ' Ein Fehler ist bei der Openfile- oder Savefile-Dialogbox aufgetreten
     
    Const FNERR_INVALIDFILENAME = &H3002
    ' Der Funktion wurde ein ungültiger Dateiname übergeben oder es wurde einer ausgewählt
     
    Const FNERR_SUBCLASSFAILURE = &H3001
    ' Nicht genügend Speicher für die Listbox
     
    Const FRERR_BUFFERLENGTHZERO = &H4001
    ' Der Puffer ist ungültig
     
    Const FRERR_FINDREPLACECODES = &H4000
    ' Ein Fehler ist im FindReplace-Dialog aufgetreten
     
    Const PDERR_CREATEICFAILURE = &H100A
    ' Die Dialogbox konnte keinen Informationskontext erstellen
     
    Const PDERR_DEFAULTDIFFERENT = &H100C
    ' Der übergebene Standarddrucker entspricht nicht dem Standarddrucker des Systems
     
    Const PDERR_DNDMMISMATCH = &H1009
    ' Die Drucker der beiden Strukturen stimmen nicht überein
     
    Const PDERR_GETDEVMODEFAIL = &H1005
    ' Die DEVMODE Struktur konnte nicht initialisiert werden
     
    Const PDERR_INITFAILURE = &H1006
    ' Der Dialog konnte nicht initialisiert werden
     
    Const PDERR_LOADDRVFAILURE = &H1004
    ' Der benötigte Druckertreiber konnte nicht geladen werden
     
    Const PDERR_NODEFAULTPRN = &H1008
    ' Es wurde kein Standarddrucker gefunden
     
    Const PDERR_NODEVICES = &H1007
    ' Es konnten keine Drucker gefunden werden
     
    Const PDERR_PARSEFAILURE = &H1002
    ' Der Dialog konnte die in der Win.ini angegebenen Drucker nicht parsen
     
    Const PDERR_PRINTERCODES = &H1000
    ' Ein Fehler ist im Print-Dialog aufgetreten
     
    Const PDERR_PRINTERNOTFOUND = &H100B
    ' Es konnten keine Informationen in der Win.ini über den angegebenen Drucker  
    ' gefunden werden
     
    Const PDERR_RETDEFFAILURE = &H1003
    ' Die Strukturhandles wurden nicht angegeben, aber es wurde beim  
    ' Funktionsaufruf eine Rückgabe verlangt
     
    Const PDERR_SETUPFAILURE = &H1001
    ' Der Dialog konnte die benötigten Ressourcen nicht laden

    Beispiel:

    Private Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long
     
    Private Const CDERR_DIALOGFAILURE = &HFFFF ' Der Dialog kann nicht geöffnet werden 
    Private Const CDERR_FINDRESFAILURE = &H6 ' Eine benötigte Ressource kann nicht gefunden werden 
    Private Const CDERR_GENERALCODES = &H0 ' Eine Eigenschaft konnte nicht gelesen werden
    Private Const CDERR_INITIALIZATION = &H2 ' Nicht genug Speicher
    Private Const CDERR_LOADRESFAILURE = &H7  ' Eine benötigte Ressource kann nicht geladen werden
    Private Const CDERR_LOADSTRFAILURE = &H5 ' Ein benötigter String kann nicht gefunden werden
    Private Const CDERR_LOCKRESFAILURE = &H8 ' Die benötigte Ressource kann nicht gelockt werden
    Private Const CDERR_MEMALLOCFAILURE = &H9 ' Es kann kein Speicher zugewiesen werden 
    Private Const CDERR_MEMLOCKFAILURE = &HA ' Der benötigte Speicher kann nicht gelockt werden
    Private Const CDERR_NOHINSTANCE = &H4 ' Es wurde kein gültiges Instanzhandle übergeben 
    Private Const CDERR_NOHOOK = &HB ' Es wurde keine gültige Hookfunktion angegeben 
    Private Const CDERR_NOTEMPLATE = &H3 ' Es wurde kein gültiges Template angegeben 
    Private Const CDERR_REGISTERMSGFAIL = &HC  ' Eine Fensternachricht konnte nicht registriert werden
    Private Const CDERR_STRUCTSIZE = &H1 ' Die Strukturgröße ist ungültig
    Private Const CFERR_CHOOSEFONTCODES = &H2000 ' Ein Fehler ist beim ChooseFont-Dialog aufgetreten
    Private Const CFERR_MAXLESSTHANMIN = &H2002 ' Die maximale Fontgröße ist  größer als die minimale Fontgröße
    Private Const CFERR_NOFONTS = &H2001 ' Es wurden keine existierenden Fonts gefunden 
    Private Const FNERR_BUFFERTOOSMALL = &H3003 ' Der Puffer um die Dateinamen zu empfangen ist zu klein
    Private Const FNERR_FILENAMECODES = &H3000 ' Ein Fehler ist bei der Openfile- oder Savefile-Dialogbox aufgetreten
    Private Const FNERR_INVALIDFILENAME = &H3002 ' Der Funktion wurde ein ungültiger Dateiname 
    ' übergeben oder es wurde einer ausgewählt
    Private Const FNERR_SUBCLASSFAILURE = &H3001 ' Nicht genügend Speicher für die Listbox
    Private Const FRERR_BUFFERLENGTHZERO = &H4001 ' Der Puffer ist ungültig
    Private Const FRERR_FINDREPLACECODES = &H4000 ' Ein Fehler ist im FindReplace-Dialog aufgetreten
    Private Const PDERR_CREATEICFAILURE = &H100A ' Die Dialogbox konnte keinen Informationskontext erstellen
    Private Const PDERR_DEFAULTDIFFERENT = &H100C ' Der übergebene Standarddrucker entspricht  
    ' nicht dem Standarddrucker des Systems
    Private Const PDERR_DNDMMISMATCH = &H1009 ' Die Drucker der beiden  Strukturen stimmen nicht überein
    Private Const PDERR_GETDEVMODEFAIL = &H1005 ' Die DEVMODE Struktur konnte nicht initialisiert werden
    Private Const PDERR_INITFAILURE = &H1006 ' Der Dialog konnte nicht initialisiert werden
    Private Const PDERR_LOADDRVFAILURE = &H1004 ' Der benötigte Druckertreiber konnte nicht geladen werden
    Private Const PDERR_NODEFAULTPRN = &H1008 ' Es wurde kein Standarddrucker gefunden 
    Private Const PDERR_NODEVICES = &H1007 ' Es konnten keine Drucker gefunden werden 
    Private Const PDERR_PARSEFAILURE = &H1002 ' Der Dialog konnte die in der Win.ini angegebenen Drucker nicht parsen
    Private Const PDERR_PRINTERCODES = &H1000 ' Ein Fehler ist im Print-Dialog aufgetreten 
    Private Const PDERR_PRINTERNOTFOUND = &H100B ' Es konnten keine Informationen in der Win.ini 
    ' über den angegebenen Drucker gefunden werden
    Private Const PDERR_RETDEFFAILURE = &H1003 ' Die Strukturhandles wurden nicht angegeben, aber es wurde   
    ' beim Funktionsaufruf eine Rückgabe verlangt
    Private Const PDERR_SETUPFAILURE = &H1001 ' Der Dialog konnte die benötigten Ressourcen nicht laden
    Private Sub Command1_Click()
      On Error GoTo ErrDlg
     
      ' Dialog öffnen und Pufferfehler erzeugen
      With CommonDialog1
        .MaxFileSize = 1 ' Der Puffer ist mit dem Wert zu klein um einen Dateinamen zu empfangen
        .Filter = "*.* - Alle Dateien|*.*"
        .DialogTitle = "Datei Öffnen"
        .CancelError = True
        .ShowOpen
      End With
     
      MsgBox "Die Datei " & CommonDialog1.FileName & " wurde erfolgreich gewählt." 
     
      Exit Sub
     
      ' Fehler auswerten
      Select Case CommDlgExtendedError
      Case 0
        MsgBox "Sie haben keine Datei gewählt"
      Case FNERR_BUFFERTOOSMALL
        MsgBox "Der Puffer ist zu klein um die Dateinamen zu empfangen,"  _
        & vbCrLf & _
        "setzen sie 'MaxFileSize' auf einen größeren wert.", vbCritical,  _
        ' "Fehler: " & CommDlgExtendedError
      ' ... und so weiter
      Case Else
        MsgBox "Fehler " & CommDlgExtendedError
      End Select
    End Sub

    Diese Seite wurde bereits 4.231 mal aufgerufen.

    nach obenzurück
     
       

    Druckansicht Druckansicht Copyright ©2000-2015 vb@rchiv Dieter Otter
    Alle Rechte vorbehalten.
    Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

    Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel