Ver Mensaje Individual
  #6  
Antiguo 10-03-2010
NeWsP NeWsP is offline
Miembro
 
Registrado: oct 2003
Ubicación: Barcelona
Posts: 57
Reputación: 21
NeWsP Va por buen camino
Bueno, creo que lo he ido cogiendo, tengo una dudita mas, que no se si es correcto exponerla en este mismo post pero bueno, es sobre el mismo tema.

He hecho un thread y este es su execute, la parte que le marco toda la ruta sin variables funciona, pero la parte del "codseleccionado" no funciona.

Código Delphi [-]
procedure TCopiar.execute;
begin
          CopyFile( PChar(RutaCorrecta+'\dbf'+codseleccionado+'\pedclil.dbf'), PChar(DirAplic+'\TEMP\pedclil.dbf'), False );
          CopyFile( PChar(RutaCorrecta+'\dbf'+codseleccionado+'\clientes.dbf'), PChar(DirAplic+'\TEMP\clientes.dbf'), False );
          CopyFile( PChar(RutaCorrecta+'\dbf'+codseleccionado+'\pedclil.cdx'), PChar(DirAplic+'\TEMP\pedclil.cdx'), False );
          CopyFile( PChar(RutaCorrecta+'\dbf'+codseleccionado+'\Clientes.cdx'), PChar(DirAplic+'\TEMP\Clientes.cdx'), False );
          CopyFile( PChar(RutaCorrecta+'\dbf'+codseleccionado+'\pedclit.cdx'), PChar(DirAplic+'\TEMP\pedclit.cdx'), False );
          CopyFile( PChar(RutaCorrecta+'\dbf'+codseleccionado+'\pedclit.dbf'), PChar(DirAplic+'\TEMP\pedclit.dbf'), False );
          CopyFile( PChar('c:\prueba.exe'), PChar(DirAplic+'\TEMP\prueba.exe'), False );
end;

Asi que he estado buscando y he declarado esa variable de la siguiente manera:

Código Delphi [-]
threadvar
  codseleccionado:string;

y la forma en que llamo al Thread es la siguiente:

Código Delphi [-]
codseleccionado:=DBLookupCombobox1.KeyValue;
form2.AdvCircularProgress1.Enabled:=true;
form2.AdvCircularProgress1.Position:=0;
form2.Show;
Copiar:=TCopiar.Create(false);
form2.Timer1.Enabled:=true;

La parte de mostrar el form2 y del tiempo que dure me da igual, ahora solo necesito que copie los archivos.

La copia de archivos no la hace correcta porque la variable codseleccionado no coge el valor que tiene que ser,

Ejemplo con palabras (perdon no me sale la palabra) :

Código:
Tendria que ser:
COPIAR C:\PROGRAMA_ORIGINAL\dbf02\pedclil.dbf a C:\Mi_Programa\TEMP\pedclil.dbf

Pero ahora sale:
COPIAR C:\PROGRAMA_ORIGINAL\dbf\pedclil.dbf a C:\Mi_Programa\TEMP\pedclil.dbf
El problema esta en que el valor que tendria que coger del ComboBox no se porque no lo almacena, o el Thread no puede leerlo correctamente.

Espero que se entienda el problema, lo he intentado exponer lo mas claro posible.

Gracias por adelantado (Si, otra vez)
Responder Con Cita