Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Копирование файла по сети


Страницы:   1 2 3

Bora.ru ©   (2007-08-28 19:15:00) 

данная программа по замыслу должна запускаться на удаленном компе и скопировать файл на мой комп в папку Shared, в которой установлен полный доступ.
вот весь код:
var
  sourcefile,destfile:pchar;
begin
sourcefile:='d:\file.rar';
destfile:='\\MyComp\Shared\file.rar';
CopyFile(sourcefile,destfile,false);
end.

Запускаю эту прогу на том компе, но безрезультатно. Хотя с моего компа в его расшаренную папку ф-ция CopyFile копирует без проблем. А также если копировать тот файл в какую-нибудь папку на его компе, то также работает. Но а вот по сети, блин, не хочет.
Что здесь не так?


Bora.ru   (2007-08-30 19:31:00) [21]

Иными словами ошибка всетаки при CopyFile. Но почему же тогда программа не завершает работу на этом месте?


Anatoly Podgoretsky   (2007-08-30 19:22:00) [22]

> Riply  (30.08.2007 18:41:25)  [25]

Нет, это просто имя, а вот Windows.Beep это АПИ


Reindeer Moss Eater   (2007-08-30 18:47:00) [23]

.... И там все, как и должно быть у нормальных людей:

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.


И никаких генераций исключений


Reindeer Moss Eater   (2007-08-30 18:43:00) [24]

Это Sysutils

procedure Beep;
begin
 MessageBeep(0);
end;

А вот это уже Win API

function MessageBeep; external user32 name 'MessageBeep';


Riply   (2007-08-30 18:41:00) [25]

> [23] Reindeer Moss Eater ©   (30.08.07 18:31)
>А ты попробуй и фальсифицируй это утверждение.
Я бы попробовала привести контпример, но не знаю как отличить API функцию от не API.
Beep - это API ?


Reindeer Moss Eater   (2007-08-30 18:33:00) [26]

Винапи написано для всех.
В том числе для тех, кто пользуется языками и компиляторами в которых нет поддержки исключительных ситуаций.


Reindeer Moss Eater   (2007-08-30 18:31:00) [27]

А ты попробуй и фальсифицируй это утверждение.
:)


Riply   (2007-08-30 18:26:00) [28]

>[19] Reindeer Moss Eater ©   (30.08.07 16:39)
>Функции винапи бесполезно обертывать в try except они не генерируют исключений.
А на чем основано это утверждение ?


Anatoly Podgoretsky   (2007-08-30 16:46:00) [29]

Не видать обработчика


Сергей М.   (2007-08-30 16:45:00) [30]


> Bora.ru


Ну ты и клоун)


Reindeer Moss Eater   (2007-08-30 16:39:00) [31]

Функции винапи бесполезно обертывать в try except они не генерируют исключений.


Reindeer Moss Eater   (2007-08-30 16:37:00) [32]

У тебя ошибка в программе


Bora.ru   (2007-08-30 16:31:00) [33]

var
 sourcefile,destfile:pchar;
 f:textfile;
 e:word;
 s:string;
begin
try
 sourcefile:='d:\file.rar';  
 destfile:='\\MyComp\Shared\file.rar';
 CopyFile(sourcefile,destfile,false);
 assignfile(f,'error.txt');
 rewrite(f);
 write(f,'no errors');
 closefile(f);
except
e:=getlasterror;
s:=SysErrorMessage(e);
assignfile(f,'error.txt');
rewrite(f);
write(f,s);
closefile(f);
end;
end.

в результате - текстовый файл содержит строку 'no errors', но файл не скопирован.


Anatoly Podgoretsky   (2007-08-30 15:52:00) [34]


> обработчик есть, я его просто позже добавил.

У тебя обработчик ошибочный


Reindeer Moss Eater   (2007-08-30 15:51:00) [35]

код выполняется безошибочно, но что странно - безрезультатно.

это оптический обман.


Bora.ru   (2007-08-30 15:50:00) [36]


> Anatoly Podgoretsky ©   (30.08.07 15:14) [13]

обработчик есть, я его просто позже добавил.


Anatoly Podgoretsky   (2007-08-30 15:14:00) [37]

Откуда знаешь, нет же никакой обработки ошибок.


Bora.ru   (2007-08-30 15:11:00) [38]

код выполняется безошибочно, но что странно - безрезультатно.


Bora.ru   (2007-08-30 11:39:00) [39]


> Германн ©   (30.08.07 01:26) [6]
> FormatMessage тебе поможет перевести DWORD в LPTSTR.

SysErrorMessage проще


Reindeer Moss Eater   (2007-08-30 11:37:00) [40]

Доступ запрещен к файлу-источнику или к папке, куда копируется файл?

А самому-то не догадаться попробовать сначала открыть источник, потом создать файл назначения?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо