在onWorkEnd事件中.自动打开刚下载的文件. 除EXE文件打不开外。其它都能打开。是什么原因啊
解决方案 »
- delphi7 webbrowser怎么屏蔽讨厌的广告JS脚本,谢谢各位大牛。
- invalid argument to date encode
- 程序中code complete功能好像出了问题,请问是怎么回事?
- 传送数据到EXCEL,竟出现“不支持该接口”的错误
- 招程序员,在武汉工作,月薪1500~3000,要面向对象,delphi开发经验
- ADOQuery和Datasource的问题,急 请大家帮忙!!
- CSDN的版主進來,請封殺這個搗蛋家伙的ID...
- 通过DBNavigator指向数据表的当前行后如何删除当前行啊?
- 民以食为天,公司现在无以为计,没办法要跳槽了,8年Delphi经验,做过许多大型项目
- 紧急请教:音量大小调整如何编??????????????
- 关于ComponentCount属性的问题?
- 数据控件放置的问题!!!讨论一下
Classes, IdFTP, SysUtils, DateUtils, ComCtrls, IdComponent;type
TUpExamThread = class(TThread)
procedure FIdFTPWork(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);
private
{ Private declarations }
FFileName: String;
FDirectory: String;
FIdFTP: TIdFTP;
FUpLoadMax: Integer;
FUpLoadFinish: Integer;
FStartTime: TDateTime;
protected
procedure Execute; override;
public
constructor Create(tServer, LFile, SFile: String); //localfile, serverfile
destructor Destroy; override;
function GetUpLoadPercent(): Byte;
function GetEscapeSeconds(): Integer;
function GetSpeedAvg(): Integer; //以KB为单位
end;implementation{ TUpExamThread }constructor TUpExamThread.Create(tServer, LFile, SFile: String);
begin
FFileName := LFile;
FDirectory := SFile;
FIdFTP := TIdFTP.Create(nil);
FIdFTP.OnWork := FIdFTPWork;
FIdFTP.Host := tServer;
FIdFTP.User := 'IEUp';
FIdFTP.Password := 'IEUpLoad';
FStartTime := Now(); FreeOnTerminate := True;
inherited Create(False);
end;procedure TUpExamThread.FIdFTPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
FUpLoadFinish := AWorkCount;
end;function TUpExamThread.GetEscapeSeconds(): Integer;
begin
Result := SecondsBetween(Now(), FStartTime);
end;function TUpExamThread.GetUpLoadPercent(): Byte;
begin
Result := 0;
if FUpLoadMax > 0 then Result := (FUpLoadFinish * 100) div FUpLoadMax;
end;function TUpExamThread.GetSpeedAvg(): Integer; //以KB为单位
begin
Result := 0;
if GetEscapeSeconds() > 0 then Result := (FUpLoadFinish div 1024) div GetEscapeSeconds();
end;procedure TUpExamThread.Execute;
var
SourceFileStream : TFileStream;
begin
SourceFileStream := TFileStream.Create(FFileName, fmShareDenyNone);
FUpLoadMax := SourceFileStream.Size;
SourceFileStream.Free; FIdFTP.Connect(True); FIdFTP.MakeDir(FDirectory);
FIdFTP.ChangeDir(FDirectory);
FIdFTP.Put(FFileName, FDirectory + ExtractFileExt(FFileName), True);
FIdFTP.Disconnect;
end;destructor TUpExamThread.Destroy;
begin
FIdFTP.Free;
inherited Destroy;
end;end.
程序死的问题解决了.谢谢.
但是在workend中不能打开EXE文件是什么回事呢?