Bueno aqui estan mis conclusiones:
1.- Probé lo que me sugirió el compañero nlsgarcia, lamentablemente me siguió marcando error.
2.- Y pues me di a la tarea de ir comentando codigo y probando y llegué al problema, la funcion XDel. Esta funcion la estoy importando o tomando u oteniendo o como de se diga de una DLL que utilizo en mi proyecto, mi solucion fue sacar esa funcion de la dll y agregarla a la unidad del Hilo y efectivamente santo remedio.
Como no me gusta quedarme con la espinita dentro, alguien me podria explicar porque pasa esto cuando desde un hilo utilizo funciones de librerias externas? digo cosas tontas que se me ocurren es que al liberar el hilo se libere la dll o algo asi, pero ustedes son los expertos. Alguien sabe la respuesta?
Como comentario quiero decir que tambien probe utilizando mas funciones de la dll y efectivamente cuando hago esto es cuando me sucede el error.
Agrego la funcion solo como +info.
Código Delphi
[-]
...
type
TEnviarTemporales = class( TThread )
private
Handle : HWND;
protected
function CopiarDocumentos(destino,ruta : String): Integer;
function XDel(From: TStrings): integer;
procedure EnviarDocumentos;
procedure Execute; override;
public
constructor Create(EHandle:HWND; ThreadPriority: TThreadPriority);
end;
...
function TEnviarTemporales.XDel(From: TStrings): integer;
var
FS: SHFILEOPSTRUCT;
SFrom: string;
begin
Result:= -1;
if(From.Count > 0) then
begin
SFrom:= StringReplace(From.Text, #13+#10, #0, [rfReplaceAll]);
ZeroMemory(@FS, sizeof(SHFILEOPSTRUCT));
FS.wnd:= Handle;
FS.wFunc:= FO_DELETE;
FS.pFrom:= PCHAR(SFrom + #0);
FS.pTo:= nil;
FS.fFlags:= FOF_NOCONFIRMATION;
Result:= SHFileOperation(FS);
end;
end;
Y les agradeszo nuevamente por su valiosa ayuda!