| |

Fortgeschrittene ProgrammierungAn die Profis !! | |  | Autor: luet | Datum: 23.02.02 15:32 |
| Hallo ,
möchte mit folgendem Code Verzeichnisse auf Änderung überwachen, aber
wenn ich das Programm über Command5 beende bekomme ich die Fehlermeldung
" VB6.exe verursachte einen Fehler " .
Ich suche den Fehler seit Stunden ? Hilfe
Source : Form
Private Sub Command2_Click()
Command5.Enabled = True
Threadbeenden = True
Command2.Enabled = False
End Sub
Private Sub Command5_Click()
Unload Me
End Sub
Private Sub Dir1_Change()
Command2.Enabled = True
Command5.Enabled = False
While ThreadIsRunning
Threadbeenden = True
Wend
hWatchTh = CreateThread(ByVal 0&, 0, AddressOf ThreadExecute, ByVal 0&, CREATE_SUSPENDED, WatchThID)
SetThreadPriority hWatchTh, THREAD_PRIORITY_NORMAL
Threadbeenden = False
File1.Path = Dir1.Path
watchpath = Dir1.Path
ResumeThread hWatchTh
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub Form_Load()
ThreadIsRunning = False
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If Not Command5.Enabled Then Cancel = 1
End Sub
Source : Modul
Public Const FILE_NOTIFY_CHANGE_ATTRIBUTES = &H4
Public Const FILE_NOTIFY_CHANGE_DIR_NAME = &H2
Public Const FILE_NOTIFY_CHANGE_FILE_NAME = &H1
Public Const FILE_NOTIFY_CHANGE_LAST_WRITE = &H10
Public Const FILE_NOTIFY_CHANGE_SECURITY = &H100
Public Const FILE_NOTIFY_CHANGE_SIZE = &H8
Public Declare Function FindFirstChangeNotification Lib "kernel32" Alias "FindFirstChangeNotificationA" (ByVal lpPathName As String, ByVal bWatchSubtree As Long, ByVal dwNotifyFilter As Long) As Long
Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Public Declare Function FindNextChangeNotification Lib "kernel32" (ByVal hChangeHandle As Long) As Long
Public Declare Function FindCloseChangeNotification Lib "kernel32" (ByVal hChangeHandle As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Declare Function CreateThread Lib "kernel32" (lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long
Public Declare Function ResumeThread Lib "kernel32" (ByVal hThread As Long) As Long
Public Declare Function SuspendThread Lib "kernel32" (ByVal hThread As Long) As Long
Public Declare Function SetThreadPriority Lib "kernel32" (ByVal hThread As Long, ByVal nPriority As Long) As Long
Public Declare Sub ExitThread Lib "kernel32" (ByVal dwExitCode As Long)
Public Declare Function TerminateThread Lib "kernel32" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long
Public Const CREATE_SUSPENDED = &H4
Public Const THREAD_PRIORITY_IDLE = -15
Public Const THREAD_PRIORITY_TIME_CRITICAL = 15
Public Const THREAD_PRIORITY_NORMAL = 0
Public Const INVALID_HANDLE_VALUE = -1
Public hWatchTh&, WatchThID&
Public Threadbeenden As Boolean, ThreadIsRunning As Boolean
Public watchpath As String
Public changehandle&
Public Function ThreadExecute(p As Long) As Long
ThreadIsRunning = True
changehandle = FindFirstChangeNotification(watchpath, False, FILE_NOTIFY_CHANGE_FILE_NAME)
If changehandle <> INVALID_HANDLE_VALUE Then
While Not Threadbeenden
If WaitForSingleObject(changehandle, 50) = 0 Then Form1.File1.Refresh
FindNextChangeNotification changehandle
Wend
FindCloseChangeNotification changehandle
End If
ThreadIsRunning = False
End Function |  |
 | 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 |
  |
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Neu! sevDTA 3.0 Pro 
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere Infos
|
|
|
Copyright ©2000-2025 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
|
|