RE:COMO COPIAR ARCHIVOS DE UN LISTBOX
La función CopFile no genera una excepción si la copia falla, sino que devuelve False, y luego con GetLastError puedes obtener el código de error y con SysErrorMessage el mensaje correspondiente al mismo, o si quieres puedes dierectamente lanzar una excepción. Ej.:
if not copyfile(....................) then
RaiseLastWin32Error;
Respecto de por que no funciona la copia, lo primero que veo es que se usa DirectoryListBox1.directory + nombre del archivo, lo que está mal pues la propiedad Directory del DirectoryListBox no devuelve la barra invertida final "\" a menos que el directorio seleccionado sea el directorio raíz. Lo correcto sería usar
IncludeTrailingBackslash(DirectoryListBox1.directory) + nombre del archivo
Lo segundo que noto es que no se especifica el directorio de los archivos de origen por lo que se supondrá el directorio actual, y si no están allí, entonces habría que indicar el camino correspondiente de manera similar a como se hizo con el directorio destino.
Lo tercero que noto es el uso de DirectoryListBox para seleccionar el directorio destino, que no lo recomiendo por ser engañoso. Si el usuario no hace doble-clic en un directorio, el directorio no será seleccionado (la propiedad Directory no cambiará de valor) aunque parezca que sí. O sea, el directorio que parece seleccionado (marcado con color azul en el caso de usar los colores estándar de Windows) no es necesariamente en realidad el directorio seleccionado. Mi sugerencia es usar un cuadro de texto con un botón para seleccionar el directorio, como es habitual encontrar en las aplicaciones profesionales. Para hacer esto último puedes llamar a la función SelectDirectory que viene en la librería del Delphi, o puedes usar mi función BrowseForFolder, tratada en los números #33 y #34 del Boletín Pascal:
* MOSTRANDO EL DIALOGO "BUSCAR CARPETA" DE WINDOWS
http://www.latiumsoftware.com/es/pascal/0033.php#6
* MOSTRANDO EL DIALOGO "BUSCAR CARPETA" DE WINDOWS (II)
http://www.latiumsoftware.com/es/pascal/0034.php#7
Espero que te sirva.
Ernesto De Spirito
http://www.latiumsoftware.com/es/index.php