vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 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

Fortgeschrittene Programmierung
Re: SETFOCUS führt zum Fehler 0x80004005 
Autor: Rainer
Datum: 27.06.17 16:38

Hallo Manfred X,
das Problem liegt nicht in einer eigenen Ereignisroutine.

Zur Erläuterung des zu lösenden Problems:
In dem fraglichen Formular gibt es eine Reihe von Steuerelementen, deren Inhalt in einer bestimmten Reihenfolge bearbeitet werden muß. Mit dem Verlassen jedes dieser Steuerelemente soll bisher erstellte Inhalt geprüft und bei Feststellung eines fehlerhaften Inhalts soll ein Fehlerhinweis ausgegeben werden und das betreffende Steuerelement mittels SETFOCUS-Methode die Steuerung erhalten. Die Überprüfung und Steuerungszuweisung erfolgt in einer zentralen Prozedur, die in der EXIT-Ereignisroutine jedes der betreffenden Steuerelemente aufgerufen wird.
Solange fehlerhafte Steuerelemente gefunden wurden bzw. bei Fehlerfreiheit das nächste Steuerelement in der Reihenfolge die Steuerung erhielt lief alles ordentlich. Nur bei einer Rückwärtsbewegung in der Reihenfolge mit der Maus oder SHIFT+TAB tritt dieser Focusfehler auf.

Ich habe nun auf der Grundlage Eurer Hinweise mit der Focus-Steuerung in der Prüfprozedur experimentiert. Diese Steuerung bestand darin, daß ich bei Fehlerfreiheit vor der Focus-Zuweisung das in der Reihenfolge nächste zu bearbeitende Steuerelement ermittelt habe. D.h., das Steuerelement +1. Hatte ich mit dem Mausklick dieser Zuordnung widersprochen also den Fortgang entgegen der Reihenfolge gefordert, trat der Fehler auf. Meine Vermutung ist, daß diese Erscheinung damit zusammenhängt, daß es im VBA nur die Ereignisse ENTER und EXIT, die zeitlich vor GOTFOCUS und nach LASTFOCUS liegen, gibt und damit der Fehler in der Focus-Steuerung im Zusammenhang steht.

Lange Rede, kurzer Sinn: nachdem ich diese zwangsweise Zuordnung des nächsten Steuerelementes vor dem
Aufruf der SETFOCUS-Methode aus der Procedur entfernt habe und mit den Ereignissen KEYDOWN und MOUSEDOWN/MOUSEMOVE die Rückwärtsbewegung steuere, läuft die Steuerelementearbeit im Formular einwandfrei.

Ich bedanke mich also für Eure Hilfe bzw. Eure Anregungen.
Bis zum nächsten Mal,
Rainer.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
SETFOCUS führt zum Fehler 0x800040051.854Rainer22.06.17 17:59
Re: SETFOCUS führt zum Fehler 0x800040051.086Blackbox22.06.17 18:16
Re: SETFOCUS führt zum Fehler 0x800040051.176Rainer26.06.17 08:34
Re: SETFOCUS führt zum Fehler 0x800040051.020Manfred X26.06.17 09:30
Re: SETFOCUS führt zum Fehler 0x800040051.026Rainer27.06.17 16:38
Re: SETFOCUS führt zum Fehler 0x800040051.084ModeratorDieter23.06.17 13:04
Re: SETFOCUS führt zum Fehler 0x800040051.051Rainer26.06.17 10:18

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