Yo intentaría primero dividir el trabajo en 2 partes.
Utilizar threads con Base de Datos es un poco más complejo que con código normal, ya que debes definir parámetros de conexión nuevos para el hilo (hilos). No puedes usar en un hilo la misma conexión que utilizas en el programa principal.
Así que yo me plantearía realizar el proceso en 2 partes:
1) Utilizar hilos para la búsqueda de ficheros en disco. El resultado puede ser, por ejemplo, rellenar una lista (TStringList) con los path de los ficheros encontrados.
2) Insertar en la Base de Datos los ficheros. Este segundo paso realizarlo sin Threads.
Para el primer paso, si piensas el proceso para utilizar más de uno (dividir el trabajo), piensa en limitar el número máximo para no sobrecargar demasiado con la creación de demasiados hilos.
Para el segundo paso te bastaría un recorrido secuencial de la lista.
|