Deem |
Отправлено: 19.07.2005, 16:21 |
|
Мастер участка
Группа: Участник
Сообщений: 327
|
Пока только сделал общую папку в сети и все редактируют и компилят свои модули прямо там. Что есть специального для такой работы в Билдере? Olegenty, вроде, чего-то говорил по поводу. Подкините идеи.
В книжке роюсь, ничего не нашел.
Или в винде папки синхронизировать как-нибудь, чтобы она сама качала измененные файлы на локальную машину. Редактируют иногда с двух машин один файл (не одновременно).
Отредактировано Deem — 19/07/2005, 16:22
|
|
Gedeon |
Отправлено: 19.07.2005, 17:08 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Да подключите вы диск на эту сетевую папку обоим одинаковый и забудьте.
|
|
Deem |
Отправлено: 20.07.2005, 15:37 |
|
Мастер участка
Группа: Участник
Сообщений: 327
|
Ну, типа, на одной из машин базовая директория, другие имеют ее как сетевой диск? Так уже есть. Однако, файлы могут быть открыты на двух машинах. Билдер переспрашивает, перезагрузить ли файл, если он изменен извне. Но иногда не может перезагрузить. Говорит что-то про связи с файлом или использование другой программой. Я думал, можно обойти это как-то. А вобще, и так нормально. Если более крутого способа нет.
|
|
Gedeon |
Отправлено: 20.07.2005, 16:37 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Дык это как и с любым файлом, как его можно из двух мест одновременно редактировать?
|
|
Doga |
Отправлено: 03.08.2005, 20:29 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
Мы тож раньше так делали. Потом стали использовать StarTeem, теперь SVN.
|
|
Георгий |
Отправлено: 09.08.2005, 06:55 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
ещё CVS не плохая штука |
|
olegenty |
Отправлено: 17.08.2005, 09:16 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
посмотрел на CVS — разочаровался. написать аналог, как обычно, не дошли руки. хочу в БД класть.
2 Deem — с сетевых шар корпоративные задачки запускаются, а разработка у нас по-старинке, каждый у себя. тем более, что модульно (основной запускающий модуль — EXE, остальное, т.е. функционал — DLL) пишут пока только двое, включая меня.
|
|
Gedeon |
Отправлено: 17.08.2005, 11:43 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
QUOTE (olegenty @ 17/08/2005, 09:16) | с сетевых шар корпоративные задачки запускаются |
Вот что я совершенно недопустимым считаю. Причины не обсуждаются.
Запуск у всех юзеров моих проектов всегда осуществляется с локальных дисков, при обязательной реализации автообновления с сервера вплоть до первого ехе, с dll понятно.
|
|
olegenty |
Отправлено: 17.08.2005, 15:15 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
2 Gedeon — вот как ты написал, так и запускаются
|
|
olegenty |
Отправлено: 26.08.2005, 09:45 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
до кучи, ещё помехоустойчивость встроена:
1. Прога (EXE, после проверки и самообновления с) берёт из INI ConnectionString и пытается законектится. Если получилось — работаем
2. Оба на, угол шоу — не получилось. Лезем в INI, смотритм, где на расшаренном ресурсе ещё можно прочитать ConnectionString. Лезем. Читаем. Пытаемся законнектиться. Если получилось — работаем
3. Оба на, угол шоу — не получилось. Лезем на корпоративный сайт, запрашиваем с него строку коннекта. Пытаемся законнектиться. Если получилось — работаем.
4. Совсем плохо — нифига не получается. Вот уж тогда возникает диалог инициации строки соединения. Появился, звоним админу, спрашиваем, вводим, коннектимся.
думаю, все серверы за раз не попадают, а так — достаточно помехоустойчиво.
ну и перед загрузкой каждого DLL модуля проверяется, нет ли более свежей версии на расшаренном ресурсе. если есть — обновляемся. если нет, или шара недоступна — работаем с тем, что имеем.
|
|
AVC |
Отправлено: 26.08.2005, 10:26 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
Запуск у всех юзеров моих проектов всегда осуществляется с локальных дисков, при обязательной реализации автообновления с сервера.
|
Аналогично. За все время работы был один сбой когда сервер времени дал станциям 2027 год.
QUOTE |
ну и перед загрузкой каждого DLL модуля проверяется, нет ли более свежей версии на расшаренном ресурсе.
|
Мне кажется это излишним, зачем тогда автообновление при старте?
А вообще посматриваю в сторону хранения частей приложения прямо в базе и обновлять с неё.
Разработка как у olegenty
>каждый у себя. тем более, что модульно
>(основной запускающий модуль — EXE, остальное,
>т.е. функционал — DLL) пишут пока только двое, включая меня.
(а второй на Delphi)
+ использование универсальных форм свело число модулей к минимуму и переместило доработку программы в область написания "скриптов" на языке сервера и хранимых на нем же. |
|
olegenty |
Отправлено: 26.08.2005, 10:43 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
автообновление при запуске — это только EXE. не вижу смысла проверять весь список DLL — вот обратятся — тогда пожалуйста.
|
|
AVC |
Отправлено: 26.08.2005, 11:03 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Дело вкуса. |
|
olegenty |
Отправлено: 26.08.2005, 12:33 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
а вот про обновление прямо из базы — это козырно. тогда всё, что нужно, это чтобы клиент как-то откуда-то добыл строку коннекта. т.е. это у меня как раз есть. AVC, спасибо за идею, чё-то я дал маху. В течение недели постараюсь реализовать это у себя.
|
|
AVC |
Отправлено: 26.08.2005, 12:52 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Попробуй.
Я на это не иду, так как для групы удаленных станций дешевле выложить ночью на ftp а там на видимую им шару чем днем "забивать" трафик.
А вообще я начал делать (бросил за невостребованностью) три варианта обновления (Описания хранятся на сервере БД)
1. Расшареный ресурс
2. FTP
3. Сервер БД
В таблице для каждой станции — её NETBIS имя, настройки вариантов и указание порядка предпочтительности (предусмотрен вариант default (надо несколько)).
Но пока самым жизнестойким оказался вариант с шарой (для каждой станции может быть своя).
|
|
olegenty |
Отправлено: 26.08.2005, 13:29 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
у меня пока тоже шара. но, меня не напрягает траффик, всё происходит в пределах корпоративной сетки. а она очень жирная. в таких условиях, БД знает всё, только б туда законнектиться...
|
|
avc* |
Отправлено: 26.08.2005, 13:42 |
|
Не зарегистрирован
|
Тогда вперед и удачи! |
|
Deem |
Отправлено: 28.11.2005, 12:51 |
|
Мастер участка
Группа: Участник
Сообщений: 327
|
Как бы не так.....
Народ! Кто как комплектует DLL? Ну, по разработчику, или по общей направленности, или какждому классу — своя?
И еще такая хрень с аддоном: нахожу DLL, запускаю из нее инициализирующую функцию, и передаю ей указатель на объект центральной базы данных (ну, типа, TIBDatabase*), чтобы далее все работало через нее (она уже приконекчена). Пока работает эта самая инициализирующая функция, к объекту-базе вчерез указатель доступ нормальный. Запоминаю указатель в поле объекта из DLL, чтобы далее его юзать. При попытке доступа к методам TIBDatabase из других функций/методов получаю ошибки, попадаю "не туда". Давно эта ###### случилась. Отмазался тем, что из переданного объекта TIBDatabase при инициализации вычитывал все, что касается коннекта и далее использовал TIBDatabase из DLL. Работает нормально. Однако, не то это. Хотя бы из=за того, что за дисконнектом основной базы данных надо "ручками" дисконектить все остальные, воткнутые в DLL.
VCL и RTL либы цепляются к DLL-ам и ЕХЕ-шнику в динамическом виде.
MDIChild из DLL нормально работают в главном MDI-окне из EXE.
Почему отвядает частично IBDatabase — фиг знает.
|
|