|
|
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
Добрый день всем. В VFP, можно сказать, я недавно. Пишу программу для цеха (труда уже немало потрачено). Предполагалось, что никто ее сетевой делать не будет. Но оказалось, что я свою программу должна установить на разных компьютерах и с помощью дискеток переносить информацию с одного компьютера на другой. С этим бредом, конечно, можно смириться и сделать, как требует начальство. Но хочется сделать по-человечески (через сеть, которой у них нет). До пенсии еще оччень далеко :)) и надо двигаться вперед. Короче, мне нужно заставить начальство объединить их компьютеры (их где-то 4) в сеть и убедить, что так будет лучше. Вот только не знаю, что я с ней делать буду. :(( Тут я полный ноль. Короче, не знаю, с чего начать и и что делать. Заранее спасибо всем, кто откликнется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2005, 17:26:59 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
Движешся в правильном направлении сеть дело нужное чтоб прога стала сетевой нужно немного 1) в стартовом файле твоей програмы SET MULTILOCKS ON 2) В формах делать DATASESSION=2 private data session в load формы OPEN DATABASE 'database.dbc' SHARED USE 'твои.дбф' IN 0 SHARED CURSORSETPROP('Buffering', 4, 'алиас твоей дбф') тебе прийдется в каждой форме открывать таблицы поновой можна канечно делать и с DATASESSION=1 но тогда твой интерфейс будет тупо модальным а это в 2005 както некрасиво Вот и все твое прога стала сетевой также придется почитать про: 1-Буферизацию и ее типы 2-команды: USE SHARED CURSORSETPROP REPLACE TABLEUPDATE TABLEREVERT 3-рекомендую почитать статьи Владимира Максимова для начинающих на http://www.foxclub.ru/articles/ 4- с http://www.foxclub.ru/ скачать офлайн версию форума - єто кладезь знаний ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2005, 20:08:25 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
В этом форуме уже немного говорили об этом: Сетевая прога /topic/184817&hl=exclusive ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2005, 21:57:16 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
Grin 2) В формах делать DATASESSION=2 private data session тебе прийдется в каждой форме открывать таблицы поновой можна канечно делать и с DATASESSION=1 но тогда твой интерфейс будет тупо модальным а это в 2005 както некрасиво Тут бы я поспорил... Многие программы не требуют многооконного режима, да и данная команда не имеет никакого прямого отношения к сети... А неудобств создает много, особенно для начинающего программиста... Хотя в принципе, это вопрос на любителя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2005, 23:21:10 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
2: Grin Если ваше приложение запущено к примеру ...5 раз и вы видете 5 модальных разных окон(счета, клиенты )... в разных приложениях, то в чем разница, в одном они фоксовском окне или в разных? А связь между приложениями можно держать через локальные таблички... В одном приложении работаешь с клиентом, а в другом уже счета по умолчанию только для него и смотришь.. красота... Я пытался перейти на не модальные окна, но пользователи не велят... окна от работы отвлекают... тем более в цехе :) 2: k_sv Объясните просто... не надо будет бегать с дискетами... хотя вот ... лучше б вы с дискетами ... сеть в цеху - преимущество сомнительное... Программу переписывать, провода разбрасывать, персонал переучивать, а им еще надо кроме как на компьютере че-то ж ведь делать.. Придет время ... и никого убеждать не придется... всему свое время... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 04:35:11 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
СЕРВЕР нужен ... :-)) Grin:в load формы OPEN DATABASE 'database.dbc' SHARED USE 'твои.дбф' IN 0 SHARED CURSORSETPROP('Buffering', 4, 'алиас твоей дбф') А окружение формы тебе на что ?!? Я со своими программистами борюсь (привыкли они, еще с FPD, открывать таблицы по мере надобности), чтоб все таблицы были в Data Environment, а не в Init, load, Click и т.д. Кстати в оружении и Relation проще делать .... DATASESSION=2 полезен, для формы-справочника. Т.е. той формы которая вызавывается из неопределенного количества мест и основная ее обязанность находить и возвращать значение. Например ведение справочника контрагентов. Возвращает его код. рекомендую делать через Do Form MyForm to mVar А так главное что б SET EXCLUSIVE OFF Стояло ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 09:21:05 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
Maltsev Max А окружение формы тебе на что ?!? Я со своими программистами борюсь (привыкли они, еще с FPD, открывать таблицы по мере надобности), чтоб все таблицы были в Data Environment, а не в Init, load, Click и т.д. Кстати в оружении и Relation проще делать .... Это в начале удобно использовать окружение, но постепенно начинаешь понимать, что прописать руками гораздо гибче, эффективнее, быстрее (теперь даже можно свой класс можно для этого создать), так что не надо бороться с Вашими программистами - у них хорошая привычка - открывать только то, что надо в данный момент (тем более что это один шаг в направлении клиент-серверных технологий и больших проектов)... Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 10:05:25 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
Maltsev Max Я со своими программистами борюсь (привыкли они, еще с FPD, открывать таблицы по мере надобности), чтоб все таблицы были в Data Environment, а не в Init, load, Click и т.д. Кстати в оружении и Relation проще делать .... А у нас в отделе наоборот с FPD пошла привычка открывать все таблицы, которые могут потребоваться (а могут и не потребоваться) в стартовой программе. Даже в какой-то документации было написано, что так приложения работают быстрее. А сейчас этих таблиц понаплодилось и некоторые пакеты грузятся долго. С другой стороны если открывать таблицы только в Data Environment, то таблицы будут открываться/закрываться столько раз сколько пользователь заходит в данную форму или например зачем открывать несколько раз справочник который будет использоваться в разных формах. Тут нужен разумный компромис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 11:26:38 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
Я в последнее время склоняюсь к такому решению: Открываю таблицы по мере необходимости, а вот закрываю при выходе из формы (или простой функции) те, обращения к которым происходит редко. Остальные таблицы явно закрываю после команды READ EVENTS при завершении самого приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 11:38:29 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
А мне, так кажется - таблицы пусть лучше себе в основном отдыхают - не в подвешенном состоянии. А если что нужно, можно по мере надобности выбирать/обновлять в курсоры, тут же их, таблицы, и закрывая. По-крайней мере, если свет моргнет, больше шансов, что после они тоже будут продолжать отдыхать, а не уснут навеки :) 2: k_sv : Для 4 компьютеров едва ли начальство раскрутится на сеть... Если б их (компов, а не начальства, конечно же :) было бы 40... А так - надо покупать: HAB (хаб), куда соединяются все компьютеры, специальный кабель (между компами), спец.розетки, патчкорды (для каждого компа). Все это - соединять, настраивать сеть (проще, если везде стоит XP). Скорее всего с нуля сделать все это самой будет затруднительно - значит придется нанимать какую-то фирму... Даже если в месяц улетает пачка дискет - расходы окупятся не сразу. А об удобстве, скорости, надежности, синхронности баз данных - начальство обычно не думает. Хотя в этом, наверное, главное преимущество сети. Так что, скорее всего скажут - пусть лучше уж бегают с дискетками... Любит оно (начальство) делать конфетки не из того, что положено, а совсем из другого... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 13:25:56 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
2MaestroEv Если ваше приложение запущено к примеру ...5 раз а зачем его 5 раз оноже и 5 раз память скушает правельнее как по мне дать возможность пользователю открывать окна внутри одной програмы а не запускать ее надцеть раз 2Maltsev А окружение формы тебе на что ?!? Дык я формы и неиспользую только класы потому и нету ДЕ знаю что можна и ДЕ зделать класом но пока невижу преимуществ в этом 2Sergey Ch Да я и сам начинал с DATASESSION=1 но щас мне DATASESSION=2 намного удобнее и гибче нужно меньше следить за текущими алиасами +избавился от модальности интерфейса хотя тоже согласен иногда нужна и модальность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 13:28:25 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
1 Все на курсорах или вьюшках 2 таблиці откріваются вместе с формой, точней не таблиці, а в ините форм делается віборка с которой и работаю (естественно, если вьюшка - то и таблиці откріваются) 3 с закрытием форм зактываются все открытые в ней таблицы 4 буфферизация и транзакции Как результат даже если сеть пропала - ничего не случается.. просто редактируемые в данный момент данные уходят.. не сами данные, а то, что юзер переделал, не успев нажать сохранить, а если и успел - то транзакция не позволила вписать, даже если сеть пропала в "середине" транзакции Все ИМХО..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 13:54:46 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
NFP:С другой стороны если открывать таблицы только в Data Environment, то таблицы будут открываться/закрываться столько раз сколько пользователь заходит в данную форму или например зачем открывать несколько раз справочник который будет использоваться в разных формах. Тут нужен разумный компромис. Согласен. Для работы оператора, который набивает огромное количество типовых документов, при этом его интерфейс состоит из 5-6 форм ввода было бы разумней сделать все в дефаулт ДС, открывая таблицы на главной форме. Но вот пример: Форма просмотра/регистрации платежного требования. Помимо всего прочего у него есть аттрибуты: Договор, подразделение (на чей баланс относится сумма ПТ) Для простоты отображения, обновления данных все таблицы открыты в ДЕ, между ними протянуты связи: От ПТ к справочнику договоров и к справочнику подразделений. Для выбора договора запускается форма, на которой отображаются основные аттрибуты договора: Номер, сумма, подразделение, при чем подразделение привязано к Договору. На лицо конфликт релейшенофф... Без Привате ДС просто не обойтись ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 14:15:30 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
Огромное спасибо за поддержку. Вы меня успокоили. Надеюсь, смогу справиться. Но куча вопросов еще впереди. :) Maltsev Max Я со своими программистами борюсь А с нами никто не борется. А лучше бы было наоборот. А то самой пришлось разбираться в VFP без примеров программ и чьей-либо помощи (только Help и Базиян). Maltsev Max СЕРВЕР нужен ... :-)) Сомневаюсь, что они на сервер раскрутятся. У них-то и компьютеры слабенькие. А до одного из компьютеров - надо метров 100 кабеля. Это не станет проблемой? Или главного механика прересадить куда-нибудь поближе? И вообще, какие требования должны быть к компьютеру? У меня в БД больше 20 таблиц. Представления использую почти по любому поводу. MaestroEv Объясните просто... не надо будет бегать с дискетами... А тут вообще прикол получился. Я тут недавно своей "дерзкой" идеей по секрету поделилась с сотрудницей... А бабы - народ знаете какой. :) Короче, сегодня оказалось, что руководство уже уверено, что моя программа сетевая и вопрос с прокладкой сети я уже решила. До чего же народ у нас добрый. А я думала, что только решаю, стоит мне это делать, или нет, а оказалось, что я это уже делаю. Еще раз спасибо. Буду пробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 14:28:59 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
Согласен с [FM32YO aka KID]. Я например делаю так: 1. В стартовом файле открываю БД с опцией SHARED. Открываю часто используемы таблицы с опцией SHARED. 2. А в формах в DE я использую параметризированные LocalView, ну и те редко отрываемые таблицы, но все равно к ним LocalView. Напрямую таблицы в объектах стараюсь неиспользовать. 3. При закрытии форм закрываются LV и редко открываемые таблицы. 4. так же как и [FM32YO aka KID] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 14:30:07 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
k_sv Короче, сегодня оказалось, что руководство уже уверено, что моя программа сетевая и вопрос с прокладкой сети я уже решила. До чего же народ у нас добрый. А я думала, что только решаю, стоит мне это делать, или нет, а оказалось, что я это уже делаю. Так все - просто-таки замечательно?! k_svА до одного из компьютеров - надо метров 100 кабеля. Это не станет проблемой? 100 метров - далеко не преграда! :) k_svИли главного механика прересадить куда-нибудь поближе? А если уж и ТАКОЕ возможно... Тогда дело станет "всего лишь" в написании программы согласно всему вышепосоветованному. А может и придется все переписывать заново ;) ... Успехов, k_sv ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 14:51:15 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
Crispy Скорее всего с нуля сделать все это самой будет затруднительно - значит придется нанимать какую-то фирму... Нет, фирму нанимать не будем. У нас свои системщики есть. Вот пусть и работают. А их раньше времени дергать боюсь. Проложат ребята сеть, а окажется, что нельзя было так делать. Вот я к вам за поддержкой и обратилась. Еще раз спасибо всем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 14:55:14 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
Crispy 100 метров - далеко не преграда! :) Не факт, не факт... Может эти сто метров через электроподстанцию проходят... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 14:56:37 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
w3d Не факт, не факт... Может эти сто метров через электроподстанцию проходят... А в таких случаях - по всем правилам - кабель внутри заземленной металлической трубы прокладывают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 15:20:15 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
100 м - это критическое расстояние для витой пары, по-моему ограничение на устойчивый прием составляет 300 футов, это как раз около 100м, в этом случае необходимо будет где-то посередине поставить хаб в качестве повторителя сигнала или же можно использовать SWITCH-и, но удовольствие это дорогое. Сам кабель лучше брать 5-ой категории, по цене не сильно дороже, но зато будут решены многие проблемы с сетью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 15:24:26 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
Насчет кабелей законспектировала и выложу все своим системщикам, но попозже. Я решила, пока программу не напишу, больше и заикаться не буду про сеть. А то они шустрые тут. Сеть проложат и будут над душой сидеть программу ждать. Crispy А может и придется все переписывать заново ;) ... Боюсь, что Вы в чем-то правы. Я так подозреваю, что я много лишнего пишу. Вот к примеру, есть форма с гридом на базе представления (которое из нескольких таблиц). Обновляется только одна таблица. На форме есть кнопочки "Добавить", "Корректировать". На их нажатие вызывается одна и та же форма, но с разными параметрами. Код: plaintext 1. 2. Для всех элементов управления ControlSourse ставлю None, а в Init-е формы пишу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. А в каком месте уникальный ключ делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 16:42:45 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
PaulWist100 м - это критическое расстояние для витой пары 100 метров это растояние гарантированой скорости. Обычно без особых потерь по скорости можно нарастить до 120-130 метров. Но тут как повезет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2005, 20:40:31 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
Hi k_sv! 1) Работать без сервера - это хуже чем бегать с дискетками. 2) Читай про буферизацию и приватные сессии данных - это позволит нормально "привязывать" контролы к полям таблицы (лучше конечно курсора - представления) и тем не менее ничего никуда не запишется без твоей команды. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2005, 02:43:30 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
to k_sv Я также часто использую одно форму для ввода и редактирования(если действия в этих режимах одинаковые). Если делать разные формы, а потром потребуется внести изменения и придется делать 2 раза. В при вводе и редактирование записи всего три отличия 1) в одном случае поля для ввода пустые в другом заполненные 2 ) при сохранении для новой нужно сначала создать запись 3) Если Вы делаете проверку на дублирование информации чтобы в режиме редактирования программа не говорила что такая запись уже есть если встала на себя. А если не видно разницы зачем платить больше :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2005, 08:45:21 |
|
||
|
сделать сетевую версию?
|
|||
|---|---|---|---|
|
#18+
Burn PaulWist100 м - это критическое расстояние для витой пары 100 метров это растояние гарантированой скорости. Обычно без особых потерь по скорости можно нарастить до 120-130 метров. Но тут как повезет. автор указал примерное расстояние, а это значит "+ - три слона". Если вспомнишь стандартные поставки бухт кабеля, то все они раньше были 300 футов, это сейчас появились в 1000 футов, так вот 100 м для хаба типа OfficeConnect - это почти не преодолимое расстояние, тем более в промышленных условиях, да действительно можно и 130м сделать , но для этого нужны Switch-и ценой от 700$, поэтому как говорится "лучше перебдеть, чем ......" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2005, 09:21:10 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33154800&tid=1593902]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
89ms |
get tp. blocked users: |
2ms |
| others: | 212ms |
| total: | 421ms |

| 0 / 0 |
