Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
4-1098281613
UnDISCOvery
2004-10-20 18:13
2004.12.05
Не могу связать 2 компа через COM-порт. Помогите!


1-1100622476
Gear
2004-11-16 19:27
2004.12.05
Как запретить перерисовку отдельному компоненту?


4-1098366299
Serega41
2004-10-21 17:44
2004.12.05
Как перехватить сообщения от OutputDebugString, DbgPrint?


8-1094490378
Klopan
2004-09-06 21:06
2004.12.05
mp3 player в DOS


10-1069923058
hellmachine
2003-11-27 11:50
2004.12.05
Программный выбор dll с com-классами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский