vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Fehler bei Abbruch von Common Dialog 
Autor: Kuno60
Datum: 02.03.24 12:50

Hallo,

wenn CancelError auf True festgelegt wird, dann wird immer ein Fehler ausgelöst, wenn auf Abbrechen geklickt wird.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Fehler bei Abbruch von Common Dialog 
Autor: URi
Datum: 02.03.24 11:59

Hallo zusammen.
Ich war jetzt schon ne Weile nicht mehr hier (letzte Anmeldung 2019, registriert seit 2003), da ich andere "Prioritäten" gesetzt habe und mit VB schon lange nichts mehr mache. Ich habe jetzt aber ein Problem, welches ich nicht verstehe.

Ich habe ein Programm geschrieben, mit welchem ich meinen Schriftverkehr/Dokumente einscannen kann und mittels treeview und listview für Übersicht sorgt. Das Programm ist auch nicht mehr das jüngste. Geschrieben habe ich es 2016 mit VB6 unter Win 7. Die exe konnte ich mit einigen Klimmzügen dann auf Win 10 zum laufen bringen und es läuft nun auch schon seit 2021 ohne Probleme.
Jetzt wollte ich ein lange geplantes Feature endlich einbauen und wollte es, so wie es ist/war in der GUI erst mal durchtesten.
Und hier bin ich über ein Problem mit dem Common Dialog gestolpert.
Wenn man auf abbrechen klickt kommt die Fehlermeldung: "Laufzeitfehler '32755' 'Abbrechen' wurde ausgewählt."
In der (alten) exe geht es aber ohne Probleme. Der Code-Ausschnitt sieht wie folgt aus:

  CMDia.CancelError = True
  On Error Resume Next
  CMDia.ShowOpen
  If Err.Number <> 0 Then
    On Error GoTo 0
    Exit Sub
  End If
Aber bei CMDia.ShowOpen bleibt er mit besagtem Fehler hängen.
Wie gesagt, ich habe am Code noch rein gar nichts geändert. Hat jemand eine Idee, was das sein könnte?

Und sorry, ich weiß. Es hinterlässt schon ein "Gschmäckle", wenn man sich jahrelang nicht meldet, dann aber gleich mit ner Hilfesuche um die Ecke kommt.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehler bei Abbruch von Common Dialog 
Autor: URi
Datum: 02.03.24 13:08

Danke. Aber das will ich ja. Wenn auf Abbrechen geklickt wird, soll er die Sub ja verlassen. Und mit on error goto next und der Abfrage nach Err.Number weiß ich ja, dass auf Abbrechen geklickt wurde (oder sonst was nen error warf). Dann soll er eben raus aus der Sub und nix machen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehler bei Abbruch von Common Dialog 
Autor: URi
Datum: 04.03.24 12:07

So, ersteres Problem habe ich nun dahin gehen gelöst, dass ich nach .ShowOpen prüfe, ob .FileName entweder leer ist oder die Datei nicht existiert. Ist eines von beidem der Fall, gehts mit Exit Sub wieder raus.
Ich scheine aber generell ein Problem mit on error zu haben.
ich prüfe mit folgendem Code, ob das Programm als exe läuft, oder in der IDE:

Public Function IsIDE() As Boolean
  On Error Resume Next
  Debug.Print 1 / 0
  IsIDE = (Err <> 0)
End Function
Und auch hier bleibt er bei Debug.Print 1 / 0 mit der Fehlernummer 11 (Division durch Null) hängen. Was zum Geier ist mit dem "On Error" los. Es scheint keine Auswirkungen zu haben. Ich habe auch schon die ganzen Eigenschaten, die ich so finden konnte durchgeschaut und nirgends etwas gefunden, was auf so etwas schließen lassen würde.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehler bei Abbruch von Common Dialog 
Autor: Hollie
Datum: 05.03.24 09:07

Hallo, ich hab jetzt keinen konkreten Hinweis auf eine mögliche Fehlerursache, hinterlege aber mal einen Code-Ausschnitt aus einem meiner Programme. Das läuft problemlos in der Entwicklungsumgebung und der "Exe".
Vielleicht hilft Dir das. VG.

I=0: existierende Datei öffnen
I=1: neue Datei anlegen
StrMsg: enthält einen Speicherort (z.B. "N:\mein Speicherort")
 
    On Error Resume Next
    'Hier wird in meinem Programm geprüft, ob ein vom User festgelegter 
    'Speicherort (z.B. ein USB-Speicherstick) tatsächlich verfügbar ist:
    Me.Dialog1.InitDir = IIf(OBJEKT_AUF_LW_VORHANDEN_EINS("Ordner", StrMsg) = _
      True, StrMsg, App.Path)
 
    Me.Dialog1.CancelError = True
    Me.Dialog1.Filter = "*.txt (UTF8-Textformat)|*.txt"
    Select Case I
        'Existierende Datei aufrufen:
    	Case 0: Me.Dialog1.Flags = cdlOFNFileMustExist + cdlOFNExplorer + _
      cdlOFNHideReadOnly
                Me.Dialog1.DialogTitle = "Datei initialisieren..."
                Me.Dialog1.ShowOpen
	'Neue Datei anlegen:
        Case 1: Me.Dialog1.Flags = cdlOFNCreatePrompt + cdlOFNOverwritePrompt + _
          cdlOFNHideReadOnly
                Me.Dialog1.DialogTitle = "Neue Dateien anlegen..."
                Me.Dialog1.ShowSave
    End Select
 
    StrMsg = ""
    If Me.Dialog1.FileName = "" Or Err.Number = 32755 Then
        Me.Dialog1.InitDir = ""
        MsgBox "Keine Datei initialisiert oder angelegt.", 16, ApplName
        Me.cmdDatei(1).SetFocus
        Exit Sub
    End If
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehler bei Abbruch von Common Dialog 
Autor: URi
Datum: 05.03.24 09:29

Vielen Dank, aber lief auch auf Fehler. Ich habs aber dann endlich gefunden.
Wenn man im Menü "Extras" den Punkt "Optionen" wählt, gibt es im Reiter "Allgemein" die Auswahl wie Fehler behandelt werden sollen. Da gibt es

- Bei jedem Fehler
- In Klassenmodul
- Bei nicht verarbeiteten Fehlern

Bei mir war "Bei jedem Fehler" ausgewählt. Habs jetzt auf "Bei nicht verarbeiteten Fehlern" gesetzt und jetzt geht es. So ein kleines Dingelchen und ich such mir nen Wolf und bin am Verzweifeln
Trotzdem nochmal Danke für die Hilfe und Mühe.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehler bei Abbruch von Common Dialog 
Autor: Hollie
Datum: 05.03.24 09:38

Oh ja, das hatte ich auch schon mal "Bei jedem Fehler". Darauf wäre ich jetzt nicht gekommen. Aber fein, wenn das Problem nun behoben ist.
PS: war keine Mühe, es ist "Solidarität"
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 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