![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 24.06.2008
Сообщений: 17
|
![]()
вот так работает:
dir := cur_dir + '\resurs\' + DBEdit3.Text; u := OpenDialog1.Files.GetText; FillChar(Buffer, sizeof(Buffer), #0); p := @buffer; p := StrECopy(p,'H:\Video\na.kriu4ke2008 .avi') + 1; FillChar(Fo, sizeof(Fo), #0); Fo.Wnd := Handle; Fo.wFunc := FO_COPY; Fo.pFrom := @Buffer; Fo.pTo := PChar(dir); Fo.fFlags := 0; if ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false)) then ShowMessage('Cancelled'); тоже самое имя фйла, но только через OpenDialog. u := OpenDialog1.Files.GetText; FillChar(Buffer, sizeof(Buffer), #0); p := @buffer; p := StrECopy(p,PChar(u)) + 1; FillChar(Fo, sizeof(Fo), #0); Fo.Wnd := Handle; Fo.wFunc := FO_COPY; Fo.pFrom := @Buffer; Fo.pTo := PChar(dir); Fo.fFlags := 0; if ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false)) then ShowMessage('Cancelled'); ошибка: неудалось произвести чтение из файла. в чем причина? помогите! |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 02.01.2010
Сообщений: 254
|
![]()
Проверь чему равна Buffer после выполнения p := StrECopy(p,PChar(u)) + 1. Если имя файла нормальное, то вероятно, что файл просто заблокирован.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 24.06.2008
Сообщений: 17
|
![]()
проверил. Путь к файлу в переменной @buffer отображается нормально т.е. полный путь к файлу. все равно выдает ошибку...
![]() и файл точно не заблокирован(пробовал много разных файлов). Последний раз редактировалось sashahttp; 10.01.2010 в 12:17. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 28.01.2010
Сообщений: 224
|
![]()
Я не знаю но я открываю файл вот как:
if (OpenDialog1 -> Execute()) { Edit1 ->Text = OpenDialog1 ->FileName; Sfail = OpenDialog1 ->FileName; } единственная продлема это написано под C++ Builder и здесь переменная Sfail должна быть объявлена как AnsiString Sfail = "";
всему свое время как зиме и весне
и каждому солнцу свой неба кусок |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при OpenDialog.Execute | ymka2 | Общие вопросы Delphi | 10 | 27.11.2009 14:15 |
Автоматизированное копирование данных выборки автофильтра на другой лист при помощи кнопки | outstrip | Microsoft Office Excel | 0 | 12.08.2009 11:28 |
Копирование файлов при помощи потоков | Aleshin | Помощь студентам | 0 | 25.04.2009 14:00 |
копирование данных в новую таблицу при интерактивном выборе файла | gege | Microsoft Office Excel | 7 | 22.10.2008 17:16 |
Копирование при помощи лист бокс | Beam | Общие вопросы Delphi | 6 | 13.02.2008 16:44 |