Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

Не работают функции на сервере при Borland Socket - служба.   Найти похожие ветки 

 
Chery   (2004-11-22 10:42) [0]

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


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

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


 
clickmaker ©   (2004-11-22 14:20) [2]


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

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


 
Digitman ©   (2004-11-22 14:22) [3]


> Chery   (22.11.04 10:42)


приводи код


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

В файле 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 15:59) [5]


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


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


 
sniknik ©   (2004-11-22 16:26) [6]

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


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

Ну, к примеру код функции 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); - работает.


 
Digitman ©   (2004-11-22 16:41) [8]

для особо одаренных - комментарии к ф-ции 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:43) [9]

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


 
Digitman ©   (2004-11-22 16:48) [10]

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

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


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

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


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

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


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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2004.12.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
8-1094225585
AzIN
2004-09-03 19:33
2004.12.05
время


1-1101193853
starling13
2004-11-23 10:10
2004.12.05
ANSI в ASCII


1-1100706304
Apophis
2004-11-17 18:45
2004.12.05
PageControl на Form1 + Form2 на TabSheet...


1-1100689354
Dima
2004-11-17 14:02
2004.12.05
Thread и ассемблер


1-1100692204
PB
2004-11-17 14:50
2004.12.05
Как сделать ShowModal, не замораживая остальное приложение?