Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Количество загруженных модулей (число прочтений - 9284 )
zvezdochet
YaBB Newbies
*
Отсутствует


Мягкие лапки, а в лапках-
царапки!

Сообщений: 6
Зарегистрирован: 01. Июня 2006
Количество загруженных модулей
01. Июня 2006 :: 17:40
Печать  
Как узнать номер загружаемого глобального модуля, чтобы в дальнейшем его удалить?
Поскольку он создается из внешней обработки сторонним клиентом, нет возможности использовать в этих целях глобальную переменную.
В радуге есть метод вывода числа загруженных модулей, в 1с++ нет.
Может кто добавит метод для получения количества загруженных модулей?
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Количество загруженных модулей
Ответ #1 - 01. Июня 2006 :: 18:48
Печать  
Сервис::ДобавитьГлобальныйМодуль() возвращает номер загруженного модуля.

А вот чем тебе количество модулей может помочь - я не догоняю.
  
Наверх
www  
IP записан
 
zvezdochet
YaBB Newbies
*
Отсутствует


Мягкие лапки, а в лапках-
царапки!

Сообщений: 6
Зарегистрирован: 01. Июня 2006
Re: Количество загруженных модулей
Ответ #2 - 02. Июня 2006 :: 05:08
Печать  
Нужно каким-то образом идентифицировать созданный модуль, чтобы потом удалить именно его.
Допустим, что при создании номер загруженного модуля получен.
В период работы обработки возможны ситуации, когда кто-то из пользователей в сети удаляет другие загруженные модули или создает новые. В результате их нумерация меняется.
В этой ситуации нужно найти свой модуль, чтобы его удалить при закрытии формы обработки.
Кроме того, если другой пользователь запустил такую-же обработку, созданный модуль удалять нельзя. Как это отследить?
Кроме того, повторное создание аналогичного модуля нежелательно.
Возникает проблема: как проверить, имеется ли в памяти загруженный модуль нужного содержания? Нужен метод для получения текста модуля.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Количество загруженных модулей
Ответ #3 - 02. Июня 2006 :: 05:48
Печать  
zvezdochet писал(а) 02. Июня 2006 :: 05:08:
Нужно каким-то образом идентифицировать созданный модуль, чтобы потом удалить именно его.
Допустим, что при создании номер загруженного модуля получен.
В период работы обработки возможны ситуации, когда кто-то из пользователей в сети удаляет другие загруженные модули или создает новые. В результате их нумерация меняется.
В этой ситуации нужно найти свой модуль, чтобы его удалить при закрытии формы обработки.
Кроме того, если другой пользователь запустил такую-же обработку, созданный модуль удалять нельзя. Как это отследить?
Кроме того, повторное создание аналогичного модуля нежелательно.
Возникает проблема: как проверить, имеется ли в памяти загруженный модуль нужного содержания? Нужен метод для получения текста модуля.

Кто тебе сказал, что нумерация меняется?
Почему нельзя удалить дополнительный модуль, если другой пользователь запустил обработку? Ведь набор дополнительных глобальников для каждого пользователя свой, они создаются в памяти на клиенте.
Повторную загрузку того же модуля ты должен самостоятельно отслеживать. Методов для реализации этого куча.
И чзачем получать текст загруженного модуля? Ведь ты сам его загружаешь, значит откуда-то его берешь.
  

FormEx developer
Наверх
www  
IP записан
 
zvezdochet
YaBB Newbies
*
Отсутствует


Мягкие лапки, а в лапках-
царапки!

Сообщений: 6
Зарегистрирован: 01. Июня 2006
Re: Количество загруженных модулей
Ответ #4 - 02. Июня 2006 :: 07:02
Печать  
Обработка- тиражная. Ее эксплуатируют разные клиенты. Поэтому лично я не могу отследить и в принципе не знаю, сколько и каких модулей они загружают.
Проблему с повторным созданием модуля легко отследить с помощью создания служебного файла. Есть файл- значит модуль уже загружен и повторно создавать его не надо.
Проблема в автоматическом удалении этого файла при закрытии программы. Сработает ли процедура ПриЗавершенииРаботыСистемы() из дополнительного глобальника.
Кстати, неясно, доспупен ли дополнительный модуль для других пользователей сети?
Если нет, тогда- беда, он нужен для дополнительных глобальных переменных.
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Количество загруженных модулей
Ответ #5 - 02. Июня 2006 :: 07:13
Печать  
zvezdochet
Насколько я понял - АЛьФ хочет донести то, что дополнительные глобальные модули живут и умирают в памяти каждого конкретного клиента отдельно, следовательно удалить загруженный модуль "кто-то" у "кого-то" никогда не сможет - это тоже самое, что чистить мозги соседу, пока он бодрствует - вот заснет, тогда... другое дело  Подмигивание
  
Наверх
 
IP записан
 
zvezdochet
YaBB Newbies
*
Отсутствует


Мягкие лапки, а в лапках-
царапки!

Сообщений: 6
Зарегистрирован: 01. Июня 2006
Re: Количество загруженных модулей
Ответ #6 - 02. Июня 2006 :: 08:30
Печать  
Ваши рассуждения о клиентской области памяти мне ни о чем не говорят!
Отвечайте конкретно: при завершении работы пользователя (выходе его из программы) дополнительный глобальный модуль исчезнет или нет?
И пожалуйста, без образных намеков- только да или нет.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Количество загруженных модулей
Ответ #7 - 02. Июня 2006 :: 08:34
Печать  
Да.
И другие пользователи не имеют доступа к дополнительным глобальным, загруженным у этого.
  

FormEx developer
Наверх
www  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Количество загруженных модулей
Ответ #8 - 02. Июня 2006 :: 08:37
Печать  
Повторяюсь:
Дополнительный глобальный модуль инициализируется методом объекта Сервис в программе Сервис.ДобавитьГлобальныйМодуль(ТекстМодуля) у каждого отдельного запущенного экземпляра программы и соответственно, если один экземпляр программы (у одного юзера) закроется, то это никак не повлияет на загруженные модули других запущенных экземпляров программы

А может это я - туплю?... Ужас

PS Глобальный - это область видимости внутри отдельной конфигурации, а не в многопользовательской среде, может в это загвоздка?
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Количество загруженных модулей
Ответ #9 - 02. Июня 2006 :: 08:45
Печать  
DrACe писал(а) 02. Июня 2006 :: 08:37:
А может это я - туплю?... Ужас

Нет. Успокойся, это не ты тупишь.
  

FormEx developer
Наверх
www  
IP записан
 
zvezdochet
YaBB Newbies
*
Отсутствует


Мягкие лапки, а в лапках-
царапки!

Сообщений: 6
Зарегистрирован: 01. Июня 2006
Re: Количество загруженных модулей
Ответ #10 - 02. Июня 2006 :: 09:04
Печать  
Тогда такой "глобальный" модуль мало что дает в случае многопользовательской работы!
Мне требуется предотвратить повторное создание объекта из компоненты ghost.dll и сохранить созданный объект в глобальной переменной, доступной всем пользователям.
Для многих конфигураций для этих целей я использую уже имеющуюся в глобальном модуле и никому не нужную глобальную переменную Видео_Компонента.
Но в конфигурации ТиС такой переменной нет, и нет "лишней" глобальной переменной, которую можно было бы использовать для своих нужд. С этой целью я решил создать переменную в дополнительном глобальном модуле. Но теперь выясняется, что этот способ негодный, поскольку при завершении работы пользователя модуль выгружается, а другим пользователям он недоступен вовсе!
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Количество загруженных модулей
Ответ #11 - 02. Июня 2006 :: 09:10
Печать  
Здрасьте, приехали!
Ты думаешь, что обычный глобальный модуль ведет себя как-то иначе и его переменные доступны всем пользователям? Ты ошибаешься.
Думаешь, что если один пользователь загрузил какую-либо компоненту, то она становится доступной всем пользователям? Ты жестко ошибаешься.
  

FormEx developer
Наверх
www  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Количество загруженных модулей
Ответ #12 - 02. Июня 2006 :: 09:12
Печать  
zvezdochet писал(а) 02. Июня 2006 :: 09:04:
Тогда такой "глобальный" модуль мало что дает в случае многопользовательской работы!
Мне требуется предотвратить повторное создание объекта из компоненты ghost.dll и сохранить созданный объект в глобальной переменной, доступной всем пользователям.
Для многих конфигураций для этих целей я использую уже имеющуюся в глобальном модуле и никому не нужную глобальную переменную Видео_Компонента.
Но в конфигурации ТиС такой переменной нет, и нет "лишней" глобальной переменной, которую можно было бы использовать для своих нужд. С этой целью я решил создать переменную в дополнительном глобальном модуле. Но теперь выясняется, что этот способ негодный, поскольку при завершении работы пользователя модуль выгружается, а другим пользователям он недоступен вовсе!


Я конечно извиняюсь... но то, что написано выше не имеет смысла, т.е. просто каша на уровне представления некомпетентного пользователя

Ни одна глобальная переменная (основного или дополнительных модулей) никогда не может быть доступна разным пользователям (разным запущенным экзмеплярам программы 1С)
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Количество загруженных модулей
Ответ #13 - 02. Июня 2006 :: 09:16
Печать  
Ну в общем, да, мне тоже непонятно.

Разные пользователи работают в разных экземплярах 1С:Предприятие и каждому нужна собственная загрузка всех необходимых компонент.
Или ты под пользователями модули и классы понимаешь? Тогда причем гост...
  

De quelle planète es-tu?
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Количество загруженных модулей
Ответ #14 - 02. Июня 2006 :: 10:35
Печать  
Я ща скажу свою любимую фразу...

Цитата:
Вызывайте специалиста.


Вот.
  
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать