Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
ВнизНе работают функции на сервере при 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c