Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Delphi] Копирование файла


Автор: ZBugz 28.11.2006, 15:41
Привет всем.
Копирую файл потоком. Так как там есть
Код

protected 
    procedure Execute; override;


Я не понимаю как получить из этого данные. И почему то поток вываливается  smile  smile 

1. Помогите мне в примере вывести ProgressBar и количество скопированных байт.
2. Где ошибка, почему вываливается поток при копировании фала 2,6 гб 

Я в потоках пока никак  smile Поэтому прошу не советовать, а исправить/дополнить мой пример и вот в нем можно было бы описать мои ошибки и оставить коментарии по выводу информации, чтоб я понял как это работает.
 smile 

Автор: _hunter 28.11.2006, 16:25
1 -- а в чем, собственно, проблема? делаеш у потока два свойства и в главной форме по таймеру их опрашиваеш (самый простой вариант)
2 -- для начала реализуй копирование вне потока (попутно и ошибку найдеш)

Автор: ZBugz 28.11.2006, 16:26
Я ж написал  smile , я ничего не понимаю в потоках, хотелось на практике в примере пояснения видеть  smile А просто копировать не получиться из этого примера.

Автор: _hunter 28.11.2006, 16:50
Цитата(ZBugz @  28.11.2006,  16:26 Найти цитируемый пост)
Я ж написал  smile , я ничего не понимаю в потоках

так может стоит для начала разобраться?..
http://forum.vingrad.ru/topic-60076.html
http://forum.vingrad.ru/topic-107882.html
и пример прогресса:
http://forum.vingrad.ru/topic-78068.html

Автор: ZBugz 28.11.2006, 17:02
Так как в ссылках написанно, я делал, впринципе получалось.
На данный момент меня интересует почему он вываливается из потока и не копирует  smile 
А про прогресс я знаю и так.

Автор: _hunter 28.11.2006, 17:10
Цитата(ZBugz @  28.11.2006,  17:02 Найти цитируемый пост)
А про прогресс я знаю и так.

тогда не понятно к чему это:
Цитата(ZBugz @  28.11.2006,  15:41 Найти цитируемый пост)
1. Помогите мне в примере вывести ProgressBar и количество скопированных байт.

относится.

Цитата(ZBugz @  28.11.2006,  17:02 Найти цитируемый пост)
На данный момент меня интересует почему он вываливается из потока и не копирует

вот поэтому и стоит реализовать для начала копирование без потока.
но если так уже хочется копировать в потоке -- можно и в нем: ставь бряку на Execute и step over до появления ошибки...

Автор: ZBugz 28.11.2006, 17:15
Код

тогда не понятно к чему это:

Это я к тому, как передать данные
Код

вот поэтому и стоит реализовать для начала копирование без потока.
но если так уже хочется копировать в потоке -- можно и в нем: ставь бряку на Execute и step over до появления ошибки...

Без потока я знаю как копировать, в этом проблем нет. Просто мне нужно именно так или что то похожее, чтоб фалы большого размера скопировать можно было и если прервалось из за ошибки или прирвали, оно докачалось.
Выявить ошибку не могу, это же поток, он вываливается и ничего вообще не пишет  smile 
Поэтому я и выложил пример, чтоб на него посмотрели.

И кстати, раньше всегда помогали с примером, а щас нет  smile 

Автор: Kuvaldis 29.11.2006, 01:44
ZBugz, 
M
Kuvaldis

 В названии темы не указан язык программирования! 

Автор: dumb 29.11.2006, 02:15
ZBugz,
тебе правильно сказали, чтоб ты сначала без потоков сделал.
везде где у тебя написано Integer, напиши Int64

Цитата(F1)

Integer    -2147483648..2147483647

число не наводит на размышления?

Автор: ZBugz 29.11.2006, 09:43
Цитата(Kuvaldis @ 29.11.2006,  01:44)
ZBugz В названии темы не указан язык программирования! 


Если я в Dlphi этот вопрос размещаю, так как вы думаете какой это язык программирования ?

Добавлено @ 09:47 
Цитата(dumb @ 29.11.2006,  02:15)
ZBugz,
тебе правильно сказали, чтоб ты сначала без потоков сделал.
везде где у тебя написано Integer, напиши Int64

Цитата(F1)

Integer    -2147483648..2147483647

число не наводит на размышления?

Большое спасибо dumb, я уже к вечеру допер до этого  smile 
Жалко что ответ ждать долго пришлось.
А по поводу без потоков, я такое делал, все работало, но мне просто нужно было именно вот так  smile 
Щас буду с выводом информации разбираться как в этом топике сказано http://forum.vingrad.ru/topic-60076.html
Надеюсь что пойму, а не пойму, снова спрошу  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)