Hola a todos!
Tengo un problema con mi código y espero que alguien pueda ayudarme. La cosa es que intento visualizar un video con mi aplicacion y el código para ello lo tengo en un thread para poder hacer más cosas. La cosa es que si el código lo tengo en el Thread me dice que el fichero no exista aunque exista, mientras que si el mismo código lo tengo en el principal si puedo visualizar el video sin problemas.
El código de mi hilo es este. Si veis algo raro o que me falta algo que pudiese ayudarme os lo agradecería mucho.
Código:
unit HiloVisualizarvideo;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, FileCtrl;
type
VisualizarVideo = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
end;
implementation
uses Visualizacion, BusquedaBD;
{ Important: Methods and properties of objects in VCL can only be used in a
method called using Synchronize, for example,
Synchronize(UpdateCaption);
and UpdateCaption could look like,
procedure HiloVisualizarVideo.UpdateCaption;
begin
Form1.Caption := 'Updated in a thread';
end; }
{ HiloVisualizarVideo }
procedure VisualizarVideo.Execute;
var
nom : String;
IdUser : String;
path : String;
begin
{ Place thread code here }
MisvideosSeguridad.OpenDialog1.DefaultExt := 'avi';
MisvideosSeguridad.OpenDialog1.Filter := 'AVI files (*.avi)|*.avi';
nom:= SearchBD.Edit5.Text;
MisvideosSeguridad.nombreborrar:=nom;
SearchBD.Edit5.Clear;
IdUser:=MisvideosSeguridad.Edit9.Text;
MisvideosSeguridad.IdBorrar:=IdUser;
MisvideosSeguridad.OpenDialog1.FileName:= 'C:\Videos\'+IdUser+'\'+nom+'.avi';
path:='C:\Videos\'+IdUser+'\'+nom+'.avi';
if DirectoryExists(path) then
begin
MisvideosSeguridad.VLAVIPlayer1.FileName:=MisvideosSeguridad.OpenDialog1.FileName; //Seleccionamos el nombre del fichero a visualizar
MisvideosSeguridad.StatusBar1.SimpleText := 'Repoduciendo Archivo: ' + MisvideosSeguridad.OpenDialog1.FileName;
MisvideosSeguridad.VLAVIPlayer1.Enabled:=true;
end;
if not DirectoryExists(path) then
MisvideosSeguridad.Edit4.Text:=path;
end;
end.
Muchas gracias.
Un saludo.