Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.14;
Скачать: CL | DM;

Вниз

F1- help ошбика при использовании потока TThread   Найти похожие ветки 

 
Граф ©   (2002-10-04 06:04) [0]

При обычном копировании файлов, все проходит нормально, но стоит сделать это в потоке, возникает ошибка открытия файла Inaccessible value.

Делаю так вначале

procedure TForm1.Button1Click(Sender: TObject);
var InFS,OutFS: TFileStream;
begin
FromPathAndFileName:=OpenDialog1.FileName;
ToPathAndFileName:="c:\"+ExtractFileName(OpenDialog1.FileName);
Label1.Caption:="copy file from "+FromPathAndFileName+" to "+ToPathAndFileName;
InFS := TFileStream.Create( FromPathAndFileName, fmOpenRead );
OutFS := TFileStream.Create( ToPathAndFileName, fmCreate );
InFS.Seek( 0, soFromBeginning );
OutFS.CopyFrom( InFS, 0 );
InFS.Free;
OutFS.Free;
end;

Все работает, Земля крутиться, Солнце встает.

Теперь делаю это в потоке.
type
TLANcopyfile = class(TThread)
private
FromPathAndFileName, ToPathAndFileName: string;
{ Private declarations }
protected
procedure Execute; override;
end;

procedure TLANcopyfile.Execute;
var
InFS,OutFS: TFileStream;
begin
InFS := TFileStream.Create( FromPathAndFileName, fmOpenRead ); // вот в этой строке и выдает ошибку
OutFS := TFileStream.Create( ToPathAndFileName, fmCreate );
InFS.Seek( 0, soFromBeginning );
OutFS.CopyFrom( InFS, 0 );
InFS.Free;
OutFS.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
var InFS,OutFS: TFileStream;
begin
FromPathAndFileName:=OpenDialog1.FileName;
ToPathAndFileName:="c:\"+ExtractFileName(OpenDialog1.FileName);
LANCopyFile1:=TLANCopyFile.Create(false);
end;


Не работает, выдает ошибку открытия файла Inaccessible value.

Люди добрые, помогите, кто-чем может, сроки уже горят.


 
MBo ©   (2002-10-04 07:05) [1]

я не уловил, где задается приватное поле потока FromPathAndFileName?


 
Граф ©   (2002-10-04 07:29) [2]

FromPathAndFileName и ToPathAndFileName - глобальные переменные.


 
MBo ©   (2002-10-04 07:31) [3]

>FromPathAndFileName и ToPathAndFileName - глобальные переменные.

сомневаюсь я, однако:

> TLANcopyfile = class(TThread)
> private
> FromPathAndFileName, ToPathAndFileName: string;



Страницы: 1 вся ветка

Текущий архив: 2002.10.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
4-45621
maxi
2002-08-30 09:50
2002.10.14
Как отследить изменение файла ? (на подобии с директорией)


3-45212
alextov
2002-09-23 16:31
2002.10.14
При удалении нескольких записей курсор прыгает на начало таблицы.


6-45496
Димон1
2002-08-13 09:56
2002.10.14
ClientSocket.Connected НЕ ОБНОВЛЯЕТСЯ !


6-45490
andrey_pst
2002-08-14 09:07
2002.10.14
Отправка почты.


3-45223
aGo
2002-09-23 17:10
2002.10.14
возможно ли динамическое колличесто полей в SQL запросе