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

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

Не работают функции на сервере при Borland Socket - служба. [D5, Win2k]


Chery ©   (2004-11-22 10:42:00) 

Borland Socket Server, Midas. Запустил Borland Socket Server как службу - вызываю с клиента методы (функции)на сервере. Ошибки не выдает, параметры передает, но ничего не делает (не работает CopyFile, Zip и др.). Функции на сервере возвращают false. Запускаю сокет как приложение - все работает.


Chery   (2004-11-22 18:26:00) [1]

С HKEY_LOCAL_MACHINE ? Это будет правильно на все случае?


Chery   (2004-11-22 18:20:00) [2]

Я же работаю с системной учетной записью.


Chery   (2004-11-22 18:19:00) [3]

Я дико извеняюсь. Все таки дело в обработке переменных, я везде использовал для поиска путей
Registry.RootKey := HKEY_CURRENT_USER;
Registry.OpenKey('Software\ODBC\ODBC.INI\Fist_ODBC', False);
А к службе это никак да? И как мне извлечь путь?


Chery   (2004-11-22 17:18:00) [4]

GetLastError() возвращает 0.


Digitman   (2004-11-22 16:48:00) [5]

да ешкин кот)))

"пробовать" ты вправе что угодно, но - КОНКРЕТНО по теме - Winapi-ф-ция CopyFile() возвращает строго определенный результат, анализ которого дает тебе 100%-ю возможность определить причины ее отказа !


Chery   (2004-11-22 16:43:00) [6]

С клиента пытаюсь что-то сделать с файлами на сервере. Пробую на одной машине (и сервер и клиент).


Digitman   (2004-11-22 16:41:00) [7]

для особо одаренных - комментарии к ф-ции CopyFile() изх станд.справки :

Return Values

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.


Chery   (2004-11-22 16:35:00) [8]

Ну, к примеру код функции CopyFile(PChar(p1), PChar(p2), true);
известен. Причем, если переменные p1 и p2 я задаю явно, то CopyFile работает, а если как переменные переданные с клиента, то не работает (хотя переменные передает правильно).
На клиенте:
DataModule1.ConnectServ.AppServer.FotoCop(put, 'rerstr');
на сервере:
q:=CopyFile(PChar(p1), PChar(pathd + 'img\' + p2), true); - не работает.
q:=CopyFile(PChar('E:\temp\11brother.bmp'), PChar('E:\temp\00brother.bmp'), true); - работает.


sniknik   (2004-11-22 16:26:00) [9]

> Zip, CopyFile
не с сетевыми папками случаем работа идет?


Digitman   (2004-11-22 15:59:00) [10]


> функции типа Zip .. не работают


приводи код ф-ции Zip()


Chery   (2004-11-22 15:44:00) [11]

В файле eventvwr.msc с систем 32 ошибок нет касательно сокета, может есть еще какие-то файлы, я не знаю.
Насчет кода, даже не знаю что приводить:
Вызываю с клиента: DataModule1.ConnectServ.AppServer.Zip(Bla);
На сервере создан метод: \
protected  
class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
procedure Zip(const Param1: WideString); safecall;

...
class procedure TProba.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
begin
 if Register then
 begin
   inherited UpdateRegistry(Register, ClassID, ProgID);
   EnableSocketTransport(ClassID);
   EnableWebTransport(ClassID);
 end else
 begin
   DisableSocketTransport(ClassID);
   DisableWebTransport(ClassID);
   inherited UpdateRegistry(Register, ClassID, ProgID);
 end;
end;

И вот выполняется метод:
procedure TProba.Zip(const Param1: WideString);
var
 NumberZipped: Integer;
 rerstr, pathd: string;
begin
...
with VCLZip do
 begin
...
NumberZipped := Zip;
end; end;

Процедура вызывается, параметры, переменные обрабатываются, а функции типа Zip, CopyFile и т.д. не работают.


Digitman   (2004-11-22 14:22:00) [12]


> Chery   (22.11.04 10:42)


приводи код


clickmaker   (2004-11-22 14:20:00) [13]


> Chery   (22.11.04 10:42)
> Borland Socket Server, Midas. Запустил Borland Socket Server
> как службу

она точно запустилась? Никаких ошибок в нтишный ивент лог не записала?


Chery   (2004-11-22 14:13:00) [14]

Мой вопрос так и останется без внимания? Может он звучит не корректно...


Наверх

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