![]() |
|
|
![]()
|
|
| livo |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 14.10.2007 Репутация: 1 Всего: 1 |
Произвожу копирование в потоке с помощью функции CopyFileEx.
Она должна производить копирование файла и выводить информацию о прогрессе копирования: имя копируемого файла и процент. Но вот имя файла она и не выводит. Хотя с процентами все в порядке. Вот ее вызов:
Вот функция, которая вызывается каждый раз, когда очередная порция байт скопирована:
|
||||||
|
|||||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Указатель может и правильный - но объект, на который указывает этот указатель может быть уже уничтожен. Как устанавливается этот указатель перед вызовом CopyFileEx - тоже непонятно. Это сообщение отредактировал(а) 586 - 9.12.2009, 03:38 |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
livo, а чем Вас не устраивает копирование FileSteam'ами. Очень кошерная вещь.
|
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
livo, а какой тип у pstr_src? Если char*, то тогда надо так:
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| livo |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 14.10.2007 Репутация: 1 Всего: 1 |
586, объект не удаляется. Удаление происходит в конце процедуры выполнения потока.
mrbrooks, TFileStream медленнее, чем CopyFileEx. artsb, вот объявление: String *pstr_src. Указание объекта:
Вот структура:
Все объекты этой структуры создаются перед выполнением собственно копирования и заносятся в векторный список. Вот его спецификация:
И только после проведения операций копирования все элементы списка удаляются. По моему, данные строки просто не успевают прочитаться. Звучит странно, но вот пример: копировал файл с именем "D:\Hawx.md2". Вот название этого файла - "Hawx.md2" - и отобразилось. Или может я не вижу чего-то очевидного? |
||||||
|
|||||||
| artsb |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
livo, попробуйте использовать не указатель на строку, а саму строку:
Добавлено через 14 минут и 40 секунд Хотя, сейчас сделал тестовый проект. С указателем всё отлично отрабатывает. Значит, дело в чём-то другом. Где вы производите присваивание:
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
||||
|
|||||
| livo |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 14.10.2007 Репутация: 1 Всего: 1 |
Ребята, все работает. Указатель был нужный, но только для файла. А при копировании каталога указателю нужного объекта я не давал.
Вот фрагмент кода, который занимается копированием:
|
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Так и знал...
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |