Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Трабла с CopyFile 
V
    Опции темы
Palladin
Дата 10.6.2009, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Почему-то не работает copyfile
пишу так:
Код

copyfile(PChar('TableBD.mdb'),PChar(dir+'\TableDB.mdb'),false);


Есть подозрения, видать не получается скопировать, т.к. это БД программы, и она в данный момент используется, но ошибку не бьет просто не копирует, отсюда вопрос как скопировать файл который в данный момент используется...


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
Данкинг
Дата 10.6.2009, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Цитата(Palladin @  10.6.2009,  02:13 Найти цитируемый пост)
Есть подозрения, видать не получается скопировать, т.к. это БД программы, и она в данный момент используется,

Подозрения неверные: только что сейчас проверил именно на .mdb - всё отлично работает. Смотри, что у тебя в переменной dir: небось там путь несуществующий.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Palladin
Дата 10.6.2009, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Проверяю, пишу:
Код

copyfile(PChar('TableBD.mdb'),PChar('TableDB123.mdb'),false);

т.е. пытаюсь просто скопировать в туже папку где и БД и лишь меняю имя, эффекта 0:(

Добавлено @ 01:27
пишу тоже самое, но уже с ata.txt все работает
Код

copyfile(PChar('ata.txt'),PChar('ata1.txt'),false);


Это сообщение отредактировал(а) Palladin - 10.6.2009, 01:29


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
kami
Дата 10.6.2009, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Есть мнение, что в GetCurrentDir - не тот путь, по которому лежит эта база.
Итого - не находится не Dest, a Source
Почти уверен, что это верное мнение smile

Добавлено через 53 секунды
Выход - либо воспользоваться SetCurrentDir, либо явно прописывать полный путь к базе, которую нужно скопировать.
PM MAIL WWW   Вверх
Palladin
Дата 10.6.2009, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Пишу так:
Код

copyfile(PChar('G:\Documents and Settings\HeGrenade\Рабочий стол\НЕ УДАЛЯТЬ\l\v.0.9a\TableBD.mdb'),PChar('G:\Documents and Settings\HeGrenade\Рабочий стол\НЕ УДАЛЯТЬ\l\v.0.9a\Выгрузка\ata.mdb'),false);

никакого эффекта

Добавлено через 57 секунд
2Kami есть предложения?

Добавлено через 9 минут и 42 секунды
Я выше попробовал полный путь, не помогло


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
kami
Дата 10.6.2009, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Цитата(Palladin @  10.6.2009,  01:34 Найти цитируемый пост)
2Kami есть предложения?

Да.
Только с них надо было начать - посмотреть, что выдает GetLastError
PM MAIL WWW   Вверх
Palladin
Дата 10.6.2009, 17:25 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Ну дак всетаки, что делать?


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
kami
Дата 10.6.2009, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Цитата(Palladin @  10.6.2009,  17:25 Найти цитируемый пост)
Ну дак всетаки, что делать?

Цитата(kami @  10.6.2009,  02:00 Найти цитируемый пост)
 посмотреть, что выдает GetLastError


PM MAIL WWW   Вверх
Palladin
Дата 10.6.2009, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



из моего последнего поста, вроде как становится ясно, что я невкурсе даже что это такое...


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
kami
Дата 10.6.2009, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Понятно.
После CopyFile поставь строчку
Код

MessageBox(0, @IntToStr(GetLastError)[1], 'Ошибка при копировании', MB_OK);

Потом скажи здесь результат.
Можешь и сам посмотреть, что означает ошибка: коды ошибок на MSDN
PM MAIL WWW   Вверх
Akella
Дата 10.6.2009, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(kami @ 10.6.2009,  20:01)
Понятно.
После CopyFile поставь строчку
Код

MessageBox(0, @IntToStr(GetLastError)[1], 'Ошибка при копировании', MB_OK);

Потом скажи здесь результат.
Можешь и сам посмотреть, что означает ошибка: коды ошибок на MSDN

а так лучше  smile 
http://forum.vingrad.ru/index.php?showtopi...t&p=1733249

Добавлено через 1 минуту и 15 секунд
Palladin, копировать занятый другой программой файл можно с помощью потока TFileStream.
PM MAIL   Вверх
Palladin
Дата 10.6.2009, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



ошибка№ 2
Глянул по ссылке это
Код

ERROR_FILE_NOT_FOUND2 (0x2)             The system cannot find the file specified.


Однако я еще раз говорю путь указон верно, я проверял на других файлах в этой же папке, не копирует только TableBD.mdb

Добавлено через 2 минуты и 32 секунды
П###=)))))) нашел ошибку, моя вина, написал автоматом TableBD и в коде и тут, а база называется TabelDB, бывший программер видать ошибся
Всем спс, ужас...


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
kami
Дата 10.6.2009, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Цитата(Akella @  10.6.2009,  21:01 Найти цитируемый пост)
Palladin, копировать занятый другой программой файл можно с помощью потока TFileStream.

Как, если не секрет? В особенности если этот файл открыт в другой программе без FILE_SHARE_READ ... (кроме шуток, действительно интересует этот вопрос).

Это сообщение отредактировал(а) kami - 10.6.2009, 21:51
PM MAIL WWW   Вверх
Akella
Дата 10.6.2009, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.7319 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.