|
Вопрос по работе Клиент-Сервер.(Вызов процедур серверной,клиентскеой ...) |
☑ |
0
2mugik
26.07.12
✎
12:31
|
8.2 Толстый клиент
Есть ОбщийМодуль ГалкиСтоят НаСервере,НаКлиенте,Вызовсервера
в нем есть процедура1,
Процедура2(в этой процедуре есть вызов процедуры из клиентского модуля)
Теперь ситуация: идет серверный вызов Процедуры1, но вылетает ошибка на строку из Процедуры2 где есть вызов клиентской процедуры.
Это нормально?Т.е. модуль полностью компилируется в момент обращения к нему и полностью проверяется на ошибки?
Ну и так до кучи: в файловой естт-но все работает без вопросов.
|
|
1
acsent
26.07.12
✎
12:32
|
правильно ежик про такиз как ты говорил ))
|
|
2
2mugik
26.07.12
✎
12:35
|
Ежику тут недавно самому помогали прояснить ситуацию с Индексами СКЛ. Так что не боги горшки обжигают.
|
|
3
pumbaEO
26.07.12
✎
12:40
|
Как бы резюме:
с сервера вызвать клиента нельзя.
Обходные пути:
1. на клиенте обработчик ожидания и проверять состояние на сервере.
2. менять логику.
а больше и нет вариантов.
|
|
4
ДенисЧ
26.07.12
✎
12:45
|
(3) пока идёт серверный вызов - на клиенте обработчик ожидания не сработает...
|
|
5
pumbaEO
26.07.12
✎
12:48
|
(4) асинхронное фоновое задание, с сохранение результата работы.
|
|
6
2mugik
26.07.12
✎
12:49
|
(3)я знаю что нельзя с сервера клиента вызвать. Но у меня вопрос если я вызываю процедуру1 то причем тут процедура2? я к ней не обращаюсь а валится имеено на ней. т.е. я делаю вывод компиляция при обращении к процедуре модуля идет его всего поэтому и валится.
|
|
7
pumbaEO
26.07.12
✎
12:55
|
при галки стоят НаСервере,НаКлиенте,Вызовсервера у тебя 2 компиляции отедльно - НаСервере , НаКлиенте .
|
|
8
Нуф-Нуф
26.07.12
✎
12:55
|
покажи полный текст ошибки
|
|
9
2mugik
26.07.12
✎
13:03
|
{ОбщийМодуль.Модуль1.Модуль(566,1)}: Переменная не определена (Моя_Процедура1Клиент)
ПеременнаяКакаято = <<?>>Процедура1Клиент.СделатьТото(пар1,пар2);
Но говорю эта строка находится в процедуре в которую не заходит даже в файловой версии. Заходит в процедуру1 которая в этом же модуле.
|
|
10
2mugik
26.07.12
✎
13:07
|
(7)Ну да но если бы вызов шел с клиента то чтобы тогда вообще ругалось на обращение к процедуре из клиентского модуля.
Значит вызов процедуры 1 идет с среверной процедуры, общий модуль(где лежат процедуры 1,2) берется с сервера и опа в процедуре2 есть вызов процедуры из клиентского модуля - вываливаемся с ошибкой - такая логика?
|
|
11
2mugik
26.07.12
✎
13:09
|
Поправка:
<<?>>Процедура1Клиент=<<?>>Моя_Процедура1Клиент
|
|
12
ДенисЧ
26.07.12
✎
13:10
|
ДЫк оформи вызов в #Если Клиент Тогда
И не будет валиться при серверном вызове
|
|
13
2mugik
26.07.12
✎
13:19
|
(12)Да спасибо. Пожалуй дельное предложение, поробую.
|
|