Автор | Сообщение |
Andrey
|
| постоянный участник
|
Пост N: 4156
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.05.15 22:44. Заголовок: Вопросы новичка...
Взял последнюю версию с "Новая страница с бинарниками", установил на Win2008 Server, чуток помучился с портом... Собрал на МиниГуи+BCC 551 - \MiniGui\batch\hbmk2.bat rddleto.hbp Получил rddleto.lib - 131072 байт - правильный ли размер ? И еще Warning-и лезут: lib\.hbmk\win\bcc\rddsys.c: source\client\letocl.c: source\client\leto1.c: source\client\letomgmn.c: source\common\blowfish.c: source\common\common_c.c: source\common\hbip.c: TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation /P32 lib\rddleto.lib -+ lib\.hbmk\win\bcc\rddsys.obj -+ lib\.hbmk\win\bcc\letocl.obj -+ lib\.hbmk\win\bcc\leto1.obj -+ lib\.hbmk\win\bcc\letomgmn.obj -+ lib\.hbmk\win\bcc\blowfish.obj -+ lib\.hbmk\win\bcc\common_c.obj -+ lib\.hbmk\win\bcc\hbip.objWarning: 'rddsys' not found in library Warning: 'letocl' not found in library Warning: 'leto1' not found in library Warning: 'letomgmn' not found in library Warning: 'blowfish' not found in library Warning: 'common_c' not found in library Warning: 'hbip' not found in library Так должно быть или нет ? Вопрос сразу напрашивается с путями - как писать правильно "\" или "/" : Local cPathServer := "//127.0.0.1:2812/" cPathServer := cPathServer +"DATE_TEST_PATH\test.dbf" Помню что где то обсуждали, а результат не запомнил...
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
Haz
|
| |
Пост N: 832
Зарегистрирован: 20.02.11
|
|
Отправлено: 18.03.16 13:18. Заголовок: Andrey пишет: А где..
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 901
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.03.16 13:38. Заголовок: Andrey Вот пример ..
Andrey Вот пример ////////////////////////////////////////////////////////////////// FUNCTION UDF_Test_Trigger( nEvent, nArea, nPos, xTrigVal ) dbInfo(DBI_TRIGGER, .F.) WrLog( hb_valtoexp({ GetTriggerEvent(nEvent), nEvent, nArea, nPos, xTrigVal }) ) dbInfo(DBI_TRIGGER, .T.) RETURN .T. FUNCTION GetTriggerEvent( nEvent ) LOCAL a := { ; 'EVENT_PREUSE ', ; // 1 'EVENT_POSTUSE ', ; // 2 'EVENT_UPDATE ', ; // 3 'EVENT_APPEND ', ; // 4 'EVENT_DELETE ', ; // 5 'EVENT_RECALL ', ; // 6 'EVENT_PACK ', ; // 7 'EVENT_ZAP ', ; // 8 'EVENT_PUT ', ; // 9 'EVENT_GET ', ; // 10 'EVENT_PRECLOSE ', ; // 11 'EVENT_POSTCLOSE ', ; // 12 'EVENT_PREMEMOPACK ', ; // 13 'EVENT_POSTMEMOPACK', ; // 14 'EVENT_ERROR ' ; // } IF nEvent > len(a) .or. nEvent < 1 nEvent := len(a) ENDIF RETURN a[ nEvent ]
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4798
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.03.16 11:45. Заголовок: SergKis пишет: Вот ..
SergKis пишет: Спасибо ! А как на клиенте получать и опрашивать событие ?
|
|
|
Pasha
|
| Администратор
|
Пост N: 3415
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.03.16 12:18. Заголовок: Andrey пишет: А как..
Andrey пишет: цитата: | А как на клиенте получать и опрашивать событие ? |
| На клиенте хочется получать событие, что другой клиент выполнил какое-то обновление БД ? Как ты себе это представляешь ? Это значит, что сервер должен в ответ на запрос с одного клиента начать отправлять пакеты всем клиентам, которые к нему подключены. А клиенты должны висеть в ожидании такого пакета. Как бы letodb работает совсем в другом режиме. Наверное надо сделать по другому. Пусть триггер в letodb ведет какой-то лог изменений, а клиенты пусть опрашивают этот лог, и выбирают из него то, что им надо.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4801
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.03.16 13:09. Заголовок: Pasha пишет: На кл..
Pasha пишет: цитата: | На клиенте хочется получать событие, что другой клиент выполнил какое-то обновление БД ? |
| В идеале - да ! Хочется такого. В jave есть такое, мне показывали... Подробнее напишу чуть позже, уточню...
|
|
|
PSP
|
| постоянный участник
|
Пост N: 1196
Зарегистрирован: 27.01.07
|
|
Отправлено: 19.03.16 13:43. Заголовок: Andrey, делаешь отде..
Andrey, делаешь отдельное приложение, которое постоянно выполняется на компьютере, где установлен сервер, и ведет некий журнал, в который записывает эти события. Клиентские же приложения могут в отдельном потоке периодически проверять этот журнал. Так им можно передать эти события.
|
|
|
Dima
|
| |
Пост N: 5533
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.03.16 14:00. Заголовок: PSP пишет: делаешь ..
PSP пишет: цитата: | делаешь отдельное приложение, которое постоянно выполняется на компьютере, где установлен сервер |
| лучше в виде сервиса наверное.
|
|
|
PSP
|
| постоянный участник
|
Пост N: 1197
Зарегистрирован: 27.01.07
|
|
Отправлено: 19.03.16 14:02. Заголовок: Dima пишет: лучше в..
Dima пишет: цитата: | лучше в виде сервиса наверное. |
| Конечно лучше)
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4802
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.03.16 15:37. Заголовок: PSP пишет: делаешь ..
PSP пишет: цитата: | делаешь отдельное приложение, которое постоянно выполняется на компьютере, где установлен сервер, и ведет некий журнал, в который записывает эти события. |
| А зачем это делать ? Есть же событие в базе добавление/удаление/изменение - вот пускай LetoDb его выдает. Это же сервер, а не что-нибудь. В PostgreSQL такое же есть (LISTEN/NOTIFY) ! https://postgrespro.ru/doc/sql-notify.html Вот и хочу получать такие события на клиенте, которые подписались на такие события сервера Leto.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4803
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.03.16 16:34. Заголовок: А вообще возможно ли..
А вообще возможно ли получение сообщения от сервера Leto клиенту ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 902
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.03.16 18:25. Заголовок: Andrey пишет:возможн..
Andrey пишет: цитата: | возможно ли получение сообщения от сервера Leto клиенту ? |
| 1. Создаешь переменную(ые) с клиента или в udf_init сервера : LETO_VARSET( cGroupName, cVarName, xValue[, nFlags[, @xRetValue]] ) --> lSuccess или на сервере LETO_VARSET( nUserStru, cGroupName, cVarName, xValue[, nFlags ) --> lSuccess 2. в триггере, если переменная(ые) есть, заполняешь, на клиенте проверяешь изменилось или нет значение
|
|
|
|
Dima
|
| |
Пост N: 5534
Зарегистрирован: 17.05.05
|
|
Отправлено: 20.03.16 00:09. Заголовок: SergKis пишет: LETO..
SergKis пишет: Кстати нормальный вариант
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4892
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.05.16 15:53. Заголовок: По доке: Crypt..
По доке: Crypt_Traffic = 0 - если 1, то данные, передаваемые по сети, шифруются; Каким алгоритмом шифруется и насколько снижается скорость выполнения при шифрации /дешифрации ?
|
|
|
Pasha
|
| Администратор
|
Пост N: 3430
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.05.16 07:58. Заголовок: Используется симметр..
Используется симметричный криптоалгоритм blowfish. Он должен быть быстрым. Насколько быстро выполняется шифровка-дешифровка - я не проверял, так как для своих программ шифровку не использую.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4897
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.05.16 17:31. Заголовок: Как сделать для свои..
Как сделать для своих программ на МиниГуи отдельную dll-ку LetoDB ? И как в своей программе подключать эту dll-ку ?
|
|
|
PSP
|
| постоянный участник
|
Пост N: 1212
Зарегистрирован: 27.01.07
|
|
Отправлено: 05.05.16 21:01. Заголовок: Andrey пишет: Как с..
Andrey пишет: цитата: | Как сделать для своих программ на МиниГуи отдельную dll-ку LetoDB ? И как в своей программе подключать эту dll-ку ? |
| Какие причины так делать?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4898
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.05.16 21:19. Заголовок: PSP пишет: Какие пр..
PSP пишет: цитата: | Какие причины так делать? |
| Да научиться хочу. У многих других баз работа через dll (PostgreSQL, ADS)... Тем более dbedit был раньше с несколькими dll-ками.
|
|
|
Dima
|
| |
Пост N: 5646
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.05.16 21:20. Заголовок: PSP пишет: Какие пр..
PSP пишет: цитата: | Какие причины так делать? |
| +1 Тоже не понял смысла...
|
|
|
Haz
|
| |
Пост N: 934
Зарегистрирован: 20.02.11
|
|
Отправлено: 05.05.16 21:42. Заголовок: Dima пишет: Тоже не..
Dima пишет: присоединяюсь. не ясно зачем ? обычно dll используется для часто используемых вызовов , чтоб не плодить их в разных программах. Но возможно это давняя мечта - собрать dll http://hwgui.borda.ru/?1-1-0-00000023-000-0-0#004 С тех пор не раз видел ( вроде и на этом форуме ) примеры сборки. Но главный вопрос - зачем ??? Andrey пишет: цитата: | У многих других баз работа через dll (PostgreSQL, ADS). |
| с версиями этих DLL при смене версии сервера ADS - отдельное развлечение на удаленке и хрен поменяешь пока не срубишь задачу которая ее держит
|
|
|
PSP
|
| постоянный участник
|
Пост N: 1213
Зарегистрирован: 27.01.07
|
|
Отправлено: 05.05.16 21:46. Заголовок: https://ru.wikipedia..
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|