Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Plugin с экспортируемыми методами (число прочтений - 31391 )
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Plugin с экспортируемыми методами
09. Октября 2006 :: 06:28
Печать  
Наконец-то добрался реализации такскать Intellisence2, привёл парсер в практически рабочее состояние (раздел 1CLangParser в репозитарии OpenConf_Scripts). Теперь надо (точнее желательно) сделать из него плагин, который будет выдавать скриптам нужную инфу.  Для этого плагин должен уметь экспортировать некие методы. Каким образом этого добиться? Мож кто-нить кинется примерчиком?


2 orefkov  И ещё, Саш, помнится ты говорил, что можно в OpenConf встроить возможность получения адреса текста открытого модуля напрямую. Оно ещё можно?
  
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2344
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #1 - 09. Октября 2006 :: 10:24
Печать  
Тоже интересно,
я правда в нескольких световых годах от этой темы......
  
Наверх
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #2 - 16. Октября 2006 :: 07:06
Печать  
Некая предварительная версия плагина готова.
Анализирует текущий модуль, смотрит на все СоздатьОбъект(), типизированные свойства/методы объектов, передачу переменных в методы, возвращаемые значения.  Для использования в качестве поставщика данных для intellisense пока неприменимо, потому как не отрабатываются тексты вида:
Спр = СоздатьОбъект("Справочник");
Спр.|
- т.е. когда в конце нет ;
а вот
Спр|;
отработается.
В общем, error recovery надо доводить до ума.
Если кому интересно, но нет доступа к репозитарию, то могу сюда выложить.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #3 - 16. Октября 2006 :: 07:10
Печать  
А что с глобальным модулем? он будет подключаться/анализироваться?
Сейчас плагин в нем может работать? Как скорость на большом глобальнике?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #4 - 16. Октября 2006 :: 07:30
Печать  
Любой модуль можно парсить, в т.ч. и глобальник.
На глобальнике от ПУБа (~33000) полный парсинг ~3сек
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #5 - 16. Октября 2006 :: 08:11
Печать  
Отличная скорость.
И еще раз вопрос: а к текущему модулю (например, модуль формы) можно будет подключать глобальный модуль, т.е. его экспортируемые методы и атрибуты? Или эта фича уже есть? Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #6 - 16. Октября 2006 :: 08:48
Печать  
Подключать можно. Но пока не подключается. Пока главное заставить парсер работать всегда, несмотря на ошибки в коде.
  
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2344
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #7 - 17. Октября 2006 :: 07:01
Печать  
ADirks писал(а) 16. Октября 2006 :: 08:48:
Подключать можно. Но пока не подключается. Пока главное заставить парсер работать всегда, несмотря на ошибки в коде.

Адский труд. На кажное правило ПА СОТНЕ ЗАТЫЧЕК...
  
Наверх
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #8 - 17. Октября 2006 :: 13:07
Печать  
trdm писал(а) 17. Октября 2006 :: 07:01:
ADirks писал(а) 16. Октября 2006 :: 08:48:
Подключать можно. Но пока не подключается. Пока главное заставить парсер работать всегда, несмотря на ошибки в коде.

Адский труд. На кажное правило ПА СОТНЕ ЗАТЫЧЕК...

Ага....  Я вот уже тоже репу чешу...  Но зато перспективы уж очень приятные.
  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #9 - 29. Ноября 2006 :: 07:11
Печать  
Ну вот, наконец-то сделана более-менее работающая версия плагина и скрипта к нему. Выкладвыаю всё, на предмет потестить.
Сейчас событие OnShowMemberList отрабатывается в моём скрипте (parser_test.js), и если он не смог отработать, то вызывается Intellisence.vbs (естественно, в интеллисенсе нужно обработку события отключить).

Пришлось ещё немножко подправить svcsvc::FilterValue(). Тап при нажатии Esc почему-то возвращался набранный в едите текст.
« Последняя редакция: 24. Января 2007 :: 06:10 - ADirks »  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #10 - 29. Ноября 2006 :: 07:14
Печать  
trdm писал(а) 17. Октября 2006 :: 07:01:
ADirks писал(а) 16. Октября 2006 :: 08:48:
Подключать можно. Но пока не подключается. Пока главное заставить парсер работать всегда, несмотря на ошибки в коде.

Адский труд. На кажное правило ПА СОТНЕ ЗАТЫЧЕК...

Кстати, пришлось таки пойти другим путём. Сейчас плагин просто парсит текущий метод, пытаясь по макисимуму определить типы всех переменных. А потом уже скрипт на основании этой информации вычисляет тип выражения под курсором.  Вроде неплохо получилось.
  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #11 - 29. Ноября 2006 :: 07:43
Печать  
Блин, таки один кусочек забыл положить.  Файло "1С++.ints", в котором прописаны "стандартные" методы класса, типа ПолучитьБазовыйКласс().  Его надо положить в Intell2\1С++   (в слове 1С++ буквочка "С" - русская)
« Последняя редакция: 25. Января 2007 :: 05:48 - ADirks »  
Наверх
 
IP записан
 
metaeditor
1c++ power user
Отсутствует


are you nuts?

Сообщений: 564
Зарегистрирован: 04. Июля 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #12 - 30. Ноября 2006 :: 12:54
Печать  
скрипт говорит что нету у плагина метода
Parser.RemoveAllTypes(); строка 707

иговорит что число параметров неверное
Parser.AddType(Type); строка 619

дллка в архиве может несвежая (показывает дату изменения 16 октября 2006 г., 13:52:28)?
  

Регистр.EAX.СводныйОстаток()
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2344
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #13 - 30. Ноября 2006 :: 13:59
Печать  
Так недалеко до визуального плагина, показывающего сбоку в окошке объекты модуля с расшифровкой колонок таблицы значений, структур и т.п.
  
Наверх
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #14 - 30. Ноября 2006 :: 14:50
Печать  
metaeditor писал(а) 30. Ноября 2006 :: 12:54:
скрипт говорит что нету у плагина метода
Parser.RemoveAllTypes(); строка 707

иговорит что число параметров неверное
Parser.AddType(Type); строка 619

дллка в архиве может несвежая (показывает дату изменения 16 октября 2006 г., 13:52:28)?

Точно, ДЛЛка ужасно старая. И где я её только взял?  Исправляюсь.
« Последняя редакция: 24. Января 2007 :: 06:10 - ADirks »  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #15 - 04. Декабря 2006 :: 10:35
Печать  
Устранены некоторые утечки памяти. Не все  Печаль
« Последняя редакция: 25. Января 2007 :: 05:48 - ADirks »  
Наверх
 
IP записан
 
miksuny4
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 15
Зарегистрирован: 05. Декабря 2006
Re: Plugin с экспортируемыми методами
Ответ #16 - 05. Декабря 2006 :: 10:22
Печать  
Не загружается что-то плагин. Старый, который в архиве  ParserPlugin.rar загружается, а который в архивах ParserPlugin_001.rar и ParserPlugin_002.rar нет.
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #17 - 14. Декабря 2006 :: 09:37
Печать  
Поставил VC++6. плагин работает как под 15 так и под 25 релизом.
До этого вообще не видел плагин.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
oZZ
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 2
Зарегистрирован: 26. Декабря 2006
Re: Plugin с экспортируемыми методами
Ответ #18 - 26. Декабря 2006 :: 09:21
Печать  
Подскажите пожалуйста, как его правильно установить, какие файлы куда, в какие папки.
самостоятельно не получается, а мануала не нашел.  Плачущий
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #19 - 26. Декабря 2006 :: 09:44
Печать  
в доке есть что куда положить, но не указано какие скрипты являются лишними
у меня в папке intellesence:
parser_test.js - брать из дистриба
Intellisence.vbs - брать из дистриба

VimComplete.js
SQLIntellisence.vbs
SyntaxAnalysis.vbs

т.о. получаем: dots.vbs, RunAllIntellesence.vbs лишние.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #20 - 26. Декабря 2006 :: 11:51
Печать  
Но не забываем, что пока есть нерешенные проблемы:
не работают механизм Интеллисенс с циклами.
Например, для таблицы значений не работает выбор "ВыбратьСтроки() + цикл по строкам" или "НоваяСтрока() + автозаполнение"
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
oZZ
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 2
Зарегистрирован: 26. Декабря 2006
Re: Plugin с экспортируемыми методами
Ответ #21 - 28. Декабря 2006 :: 04:41
Печать  
>"в доке есть что куда положить......."
где эта дока ??? подскажите где скачать или киньте в мыло: ozozello@mail.ru
Всех с наступающим новым годом
  
Наверх
 
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #22 - 20. Января 2007 :: 09:16
Печать  
Вот что мне сказал Антивирус

D:\#Work_Lustin\Main\Yadro\config\scripts\parser_test.js - инфицирован модификацией VBS.Generic.483

это из архива ParserPlugin_002
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #23 - 20. Января 2007 :: 09:29
Печать  
И еще:
Подключил как и было сказано
и выдало вот такую ошибку


  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #24 - 20. Января 2007 :: 09:37
Печать  
ДрВеб известный врун на подобные скрипты Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #25 - 20. Января 2007 :: 09:38
Печать  
KAV вирусов не нашел, думаю это была перестраховка эвристики.

У меня плугин заработал, но к сожалению не получается типизировать функции
Код
Выбрать все
0000 Копия()	ИндексированнаяТаблица
 


переменная, инициализированная методом копия() не воспринимается потом как ИТ

и такой номер тоже не проходит
Код
Выбрать все
0000 Копия(флКопироватьИндексы = 0, флКопироватьДанные = 1)
 


а я как-то уже собрался сделать таким образом...
  

De quelle planète es-tu?
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #26 - 20. Января 2007 :: 11:44
Печать  
[-] поправлена ошибка определения типа переменной  (та что описана в предыдущем посте)
[-] поправлены некоторые ситуации, при которых конфигуратор вылетал в космос
« Последняя редакция: 24. Января 2007 :: 06:08 - ADirks »  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #27 - 20. Января 2007 :: 11:54
Печать  
Леша, а можно для  механизаторов со стажем отдельно пояснить, чем лучше твой плугин, чем обычный интеллисенс + телепат?
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #28 - 20. Января 2007 :: 12:00
Печать  
ADirks писал(а) 20. Января 2007 :: 11:44:
[-] поправлена ошибка определения типа переменной  (та что описана в предыдущем посте)
[-] поправлены некоторые ситуации, при которых конфигуратор вылетал в космос

Подтверждаю, оба моих комментария больше не беспокоят.

А ParserPlugin.dll берет описания не только из Intell2, но и из Intell тоже?
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #29 - 20. Января 2007 :: 12:06
Печать  
Леша, а с параметрами я правильно понял задумку:
В диалоге выбора параметры показываются, а при выборе - пропадают - верно?
Это классная идея, я думаю.

Какой-то нюанс появился при выборе метода из списка:
Код
Выбрать все
	_т1.УдалитьКолонку()У
	_т1.ДобавитьИндекс()Д
 


последние лишние буквы откуда-то выпадают...

+
Это происходит когда активация диалога выбора происходит не по точке, а по первым буквам после точки.
(например, стер старый метод до точки и начал писать новый).

+
Вот придумал пример:
1. Есть текст
Код
Выбрать все
_т1.Новая
 



2. Дописываем букву "К" и выбираем "НоваяКолонка"

3. Получаем
Код
Выбрать все
_т1.НоваяКолонка()НоваяК
 

  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #30 - 20. Января 2007 :: 12:17
Печать  
И явное определение типа объекта можно делать? (пока не получается):
Код
Выбрать все
// _т1 // :ИндексированнаяТаблица
 

  

De quelle planète es-tu?
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #31 - 20. Января 2007 :: 13:21
Печать  
kms писал(а) 20. Января 2007 :: 11:54:
Леша, а можно для  механизаторов со стажем отдельно пояснить, чем лучше твой плугин, чем обычный интеллисенс + телепат?
Ну, пока что он может и не лучше  Улыбка
Потенциально же, возможностей намного больше, потому как текст модуля парсится по всем правилам, и можно получить информации больше, чем можно получить без токого парсинга. Скорость тоже не последнее дело.
Сейчас уже плагин умеет правильно определять тип переменной, инициализированной как
Код
Выбрать все
ЧегоТо = КакаяТоФункция();
ЧегоТо.|
....
КакаяТоПроцедура(ЧегоТо);
ЧегоТо.| 


Ещё бы научить его память не жрать...

Цитата:
А ParserPlugin.dll берет описания не только из Intell2, но и из Intell тоже?
Тут я в скрипте чего-то намудрил похоже. Для определения типов ints'ы берутся из Intell2 (и если там нет, то из Intell), а для показа списка свойств - всегда из Intell.

Цитата:
еша, а с параметрами я правильно понял задумку:
В диалоге выбора параметры показываются, а при выборе - пропадают - верно?
Это классная идея, я думаю.
Это самом получилось, я тут ни при чём  Улыбка))

Цитата:
Какой-то нюанс появился при выборе метода из списка:
Код:

     _т1.УдалитьКолонку()У
     _т1.ДобавитьИндекс()Д




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

Цитата:
И явное определение типа объекта можно делать? (пока не получается):
Это тоже работа для скрипта, и она пока не сделана. Равно как и замена типа "НоваяСтрока(); + Автозаполнение ТЗ"
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #32 - 20. Января 2007 :: 13:45
Печать  
+ Умеет работать с глобальником, чего не умеет интелл. Правда, памяти кушает море Печаль
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #33 - 20. Января 2007 :: 21:38
Печать  
Я начинаю понимать, какая это мощная штука.
Скорость очень впечатляет, памяти совсем не жалко.

Только надо тоже тему сделать типа "хотелки к парсеру" Улыбка

1. В глобальном модуле и в любых других не работает вне процедур и функций (т.е. прямо в теле модуля).
2. В принципе, может быть не нужно автоматическое перенаправление в Intellisense?
3. Как бы отключить автоматическую активацию парсера? Вполне бы достаточно CTRL+SPACE.

пп. 2, 3 - наверное, самый лучший вариант - это какая-то настройка, флажок или ини-файл.

4. Добавить бы подсказку в СоздатьОбъект()
5. Скрипт бы починить, чтобы он таки все слово заменял Улыбка
6. Явное определение типа объекта - наверное все же понадобится.

Обалденная штука получится.
  

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


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #34 - 20. Января 2007 :: 21:44
Печать  
Продолжаю настаивать что плагин не инсталируется

обновил все что только можно, из веток и последнего репозитария скриптов

Сделал чистую платформу и установил там только OpenConf + скрипты + сам плагин

Кто нибудь может четко сказать что плагин использует для работы Плачущий
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #35 - 20. Января 2007 :: 21:53
Печать  
Телепат точно необходим, без него кирдык сразу.
parser_test.js должен быть в каталоге Config\Scripts
ParserPlugin.dll - в каталоге Config

Вроде навскидку - все, плюс svcsvc и может быть что-то еще из системных, лучше зарегистрируй автоматом весь набор.
  

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


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #36 - 20. Января 2007 :: 22:15
Печать  
Все последних версий и зарегистрировано

Все возможные на данный момент плагины установлены
библиотеку зарегистрированы - проблема наблюдается и дома и на работе

И вот после долгих раздумий думаю - значит чего у меня нет чего ему не хватет

я посмотрел плагином от Total Commandera

И...
  

error_001.jpg ( 24 KB | Загрузки )
error_001.jpg

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #37 - 20. Января 2007 :: 22:16
Печать  
что эта за хитрые библиотеки которые с воскличательным знаком
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #38 - 20. Января 2007 :: 22:30
Печать  
Это отладочные версии библиотек.

Наверное, Алексей может собрать релизный вариант, который их не требует.
Либо если есть MSVC6, ты сам можешь собрать релизный вариант, исходник в CVS.

С другой стороны, если у тебя есть MSVC6, у тебя есть и отладочные версии библиотек.
  

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


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #39 - 20. Января 2007 :: 22:37
Печать  
kms писал(а) 20. Января 2007 :: 22:30:
Наверное, Алексей может собрать релизный вариант, который их не требует.
Либо если есть MSVC6, ты сам можешь собрать релизный вариант, исходник в CVS.

Как модуль называется в CVS и если ли к нему доступ Анонима ?



Цитата:
С другой стороны, если у тебя есть MSVC6, у тебя есть и отладочные версии библиотек.


Если бы он у меня был то видимо плагин бы загрузился,
я MSVC6 снес 3 недели назад и так и не установил по новой
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #40 - 21. Января 2007 :: 09:43
Печать  
Lustin
OpenConf_Scripts, регистр важен, доступ есть.

ADirks
Леша, я слегка изменил svcsvc (1.0.0.8)
http://www.1cpp.ru/forum/YaBB.pl?num=1166186697/72#72

Добавились флаги 256 для сортировки списка и 512 для автоширины окна.

Возможно, будет удобно использовать по умолчанию оба флажка в скриптах плугина (собственно, для них и делал).
Отзывам и предложениям буду благодарен Улыбка
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #41 - 21. Января 2007 :: 19:04
Печать  
ADirks
И еще добавились пиктограммы для различного отображения методов, свойств, полей и т.д.
Все это по аналогии с SelectDlg, картинки и номера те же.

Можно тоже будет использовать в твоем скрипте.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #42 - 22. Января 2007 :: 07:25
Печать  
Последние новости в скриптах и плагинах Опенконф
http://www.1cpp.ru/forum/YaBB.pl?num=1150707341/8#8
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #43 - 22. Января 2007 :: 09:14
Печать  
kms писал(а) 20. Января 2007 :: 22:30:
Это отладочные версии библиотек.

Наверное, Алексей может собрать релизный вариант, который их не требует.
Либо если есть MSVC6, ты сам можешь собрать релизный вариант, исходник в CVS.

С другой стороны, если у тебя есть MSVC6, у тебя есть и отладочные версии библиотек.

С этими библиотеками есть какая-то загадочная проблема.  Когда я собираю проект без отладки, то плагин перестаёт работать. Конфигуратор не валит, но и не делает ничего.  Валится на таком, к примеру, коде:
Код
Выбрать все
ITextDoc* CCodeAnalyser::GetGlobalModuleDoc()
{
	ICfgDocuments* pDocs = NULL;
	ICfgDoc* pDoc = NULL;

	debug("GetGlobalModuleDoc 1, pConfigurator = %i", pConfigurator);
	pConfigurator->get_Documents(&pDocs);
	debug("GetGlobalModuleDoc 2  pDocs = %i", pDocs);

	CComBSTR ModName(L"Глобальный модуль");
	debug("GetGlobalModuleDoc 3");
	pDocs->get_item(ModName, &pDoc); //вот тут валится
	debug("GetGlobalModuleDoc 4");

	return (ITextDoc*)pDoc;
}
 


В отладочном файле строчка "GetGlobalModuleDoc 3" появляется, а "GetGlobalModuleDoc 4" уже нет.
Мож кто чего подскажет?
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #44 - 22. Января 2007 :: 11:28
Печать  
Код
Выбрать все
ITextDoc* CCodeAnalyser::GetTextDoc()
{
...
	HRESULT res = pWindows->get_ActiveWnd(&pActiveWnd);
}
 


А у меня вот здесь в pActiveWnd выпадает NULL, ну и дальше по курсу соответственно падает (в debug все нормально).
Интересно, с чем это связано.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #45 - 23. Января 2007 :: 05:45
Печать  
Есть предложение добавить фичу -
отключение работы на больших модулях, наподобие работе Интела.

Т.е. есть ини-файл, можно использовать ини-файл от Интелла, и  там указан параметр "MAX_LINES_CALL_INTELL = N", тогда не анализировать модули с количеством строк, большим N, в т.ч и глобального модуля.
На больших базах уж очень много кушает памяти и в итоге общая производительность системы падает Печаль

Что скажете?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #46 - 23. Января 2007 :: 07:26
Печать  
artbear писал(а) 23. Января 2007 :: 05:45:
Есть предложение добавить фичу -
отключение работы на больших модулях, наподобие работе Интела.

Т.е. есть ини-файл, можно использовать ини-файл от Интелла, и  там указан параметр "MAX_LINES_CALL_INTELL = N", тогда не анализировать модули с количеством строк, большим N, в т.ч и глобального модуля.
На больших базах уж очень много кушает памяти и в итоге общая производительность системы падает Печаль

Что скажете?

Сделал версию с ограничением макс. количества строк до 5000.  Плюс обратное: для маленьких модулей (<3000 строк) парсится весь модуль (а не только тот метод, где курсор стоит), что позволяет точнее определить тип переменных модуля.
« Последняя редакция: 24. Января 2007 :: 06:08 - ADirks »  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #47 - 24. Января 2007 :: 06:03
Печать  
Ещё немножко изменений.
- заюзана возможность показывать картиночки
- вставка выбранного свойства/метода сделана по человечески
- понимаются явные задания типов в комментариях
- в ИндексированнаяТаблица.ints прописаны параметры методов (как пример).  Забавно получилось  Улыбка
« Последняя редакция: 25. Января 2007 :: 05:41 - ADirks »  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #48 - 24. Января 2007 :: 06:28
Печать  
Да, параметры методов в списке выбора смотрятся прикольно.
Еще бы кто-нибудь сделал для объектов 1С++ алс-файл для Конфигуратора и/или тлс-файл для подсказок телепата, было бы совсем хорошо.

kms, ты вроде говорил, что можешь сделать получение из rst-файла алс-файла? или я ошибаюсь?

ЗЫ если бы был алс-файл, тлс-файл для подсказок телепата можно было бы получить автоматически !
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #49 - 24. Января 2007 :: 07:52
Печать  
artbear писал(а) 24. Января 2007 :: 06:28:
kms, ты вроде говорил, что можешь сделать получение из rst-файла алс-файла? или я ошибаюсь?

В ближайшее время никак не получится.  Печаль
Давай может где-то отдельную ветку откроем по этой теме, может кто-то поучаствует?
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #50 - 24. Января 2007 :: 08:22
Печать  
ADirks писал(а) 24. Января 2007 :: 06:03:
Ещё немножко изменений.
- заюзана возможность показывать картиночки
- вставка выбранного свойства/метода сделана по человечески
- понимаются явные задания типов в комментариях
- в ИндексированнаяТаблица.ints прописаны параметры методов (как пример).  Забавно получилось  Улыбка

Супер! Улыбка

У меня осталось только минимальные комментарии:

1. Все-таки надо сделать опциональным вызов старого интеллисенса (на глобальном модуле тормозит он)
2. Может быть и вызов парсера тоже сделать опциональным, если возможно
3. Вот со скобками не знаю я - как лучше? То ли их вообще не вставлять в код (как делает майкрософт), то ли как в нашем интелле, если есть параметры, ставить курсор внутрь скобок. Как вы думаете?

А в целом - очень нравится.
Еще бы научить работать вне процедур и функций (в модулях) и разобраться с релизом (скорость еще возрастет).

Да, и действительно, теперь только конвертора als->rst и не хватает для полного щастья.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #51 - 24. Января 2007 :: 08:56
Печать  
kms писал(а) 24. Января 2007 :: 08:22:
Да, и действительно, теперь только конвертора als->rst и не хватает для полного щастья.

ИМХО точнее конвертора rst <-> als Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #52 - 24. Января 2007 :: 11:53
Печать  
kms писал(а) 24. Января 2007 :: 08:22:
3. Вот со скобками не знаю я - как лучше? То ли их вообще не вставлять в код (как делает майкрософт), то ли как в нашем интелле, если есть параметры, ставить курсор внутрь скобок. Как вы думаете?

Лучше как в Студии. Например, мне удобно, когда скобки отделены от названия функции пробелом. Ну, нагляднее это для меня. Кто-то любит наоборот: скобки идут сразу после функции, но перед и после параметров идут пробелы. Поэтому мне, например, пришлось перепахать все ints-файлы Улыбка Но все равно полностью устраивающей меня работы мне так и не удалось добиться (названия функций модуль вставляются без пробела и др.).

Вот поэтому вставку скобок лучше вообще убрать или сделать это опциональной вещью.
  
Наверх
 
IP записан
 
kuntashov
Full Member
***
Отсутствует


1С:Специалист

Сообщений: 130
Местоположение: Саратов
Зарегистрирован: 13. Июня 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #53 - 24. Января 2007 :: 13:02
Печать  
Uzhast писал(а) 24. Января 2007 :: 11:53:
Но все равно полностью устраивающей меня работы мне так и не удалось добиться (названия функций модуль вставляются без пробела и др.).


Это может Вам помочь в расстановке пробелов и скобок:

Код
Выбрать все
' Обработчик события вставки текста из списка завершения
' Позволяет изменить текст вставки.
' InsertType - тип вставляемого значения (пояснения ниже)
' InsertName - имя вставляемого значения (как оно пишется в списке завершения)
' Text - вставляемый текст
' Во вставляемом тексте местоположение знака "!" определяет размещение
' курсора после вставки. (работает корректно только для однострочных вставок)
' Если положение курсора не указано, то он устанавливается в конце текста.
' При вставке шаблона из списка завершений данный обработчик не вызывается.
' Для примера показано, как вместо И,ИЛИ,НЕ вставлять и,или,не
'
Sub Telepat_OnInsert(InsertType, InsertName, Text)

 



  

С уважением, &&Александр Кунташов&&http://kuntashov.ru/
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #54 - 24. Января 2007 :: 13:03
Печать  
ИМХО пока расстановку скобок предлагаю оставить как есть, мне нравится со скобками Улыбка
А если кому-то хочется другое поведение, пусть реализует, но обязательно опционально  Язык

ЗЫ хотя иногда мой скрипт ЗаменаКода скобки расставляет неверно, только в этом вижу один минус скобок Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #55 - 24. Января 2007 :: 13:06
Печать  
kuntashov писал(а) 24. Января 2007 :: 13:02:
Это может Вам помочь в расстановке пробелов и скобок:
Код
Выбрать все
Sub Telepat_OnInsert(InsertType, InsertName, Text)
 




Да, мой скрипт ЗаменаКода.vbs работает по этой схеме.
Так что можно слегка его поправить и, добавив опциональность, получить нужный функционал.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #56 - 24. Января 2007 :: 18:10
Печать  
artbear писал(а) 24. Января 2007 :: 13:03:
ИМХО пока расстановку скобок предлагаю оставить как есть, мне нравится со скобками Улыбка
А если кому-то хочется другое поведение, пусть реализует, но обязательно опционально  Язык

Да, не работать тебе в Майкрософте Улыбка Видишь, они учли, что есть много людей со своими стилями кодирования. А ты хочешь, чтобы был жестко задан только один стиль и все.

PS. Вот благодаря таким приколам в разных местах я и не считаю интеллисенс для 1С готовым продуктом. Ибо постоянно приходится его дорабатывать молотком и напильником. (Помню еще сколько крови у меня попил dots.vbs, пока не прибил его - тормозил, на ряде модулей вообще гарантированно заставлял Конфигуратор копыта откидывать, ужас в общем: набьешь килобайтов 10 и тут после нажатия точки хрясь и пипец всему Печаль((()
  
Наверх
 
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #57 - 24. Января 2007 :: 19:26
Печать  
Uzhast писал(а) 24. Января 2007 :: 18:10:
PS. Вот благодаря таким приколам в разных местах я и не считаю интеллисенс для 1С готовым продуктом. Ибо постоянно приходится его дорабатывать молотком и напильником. (Помню еще сколько крови у меня попил dots.vbs, пока не прибил его - тормозил, на ряде модулей вообще гарантированно заставлял Конфигуратор копыта откидывать, ужас в общем: набьешь килобайтов 10 и тут после нажатия точки хрясь и пипец всему Печаль((()

А что вы хотели за такие деньги Язык
  
Наверх
ICQ  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #58 - 24. Января 2007 :: 19:40
Печать  
alest писал(а) 24. Января 2007 :: 19:26:
А что вы хотели за такие деньги Язык

Дело в том, что подобные приколы подрывают утверждение, что опесорсно-открыто-бесплатные проекты как минимум не хуже, чем коммерческие.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Plugin с экспортируемыми методами
Ответ #59 - 24. Января 2007 :: 19:45
Печать  
Uzhast писал(а) 24. Января 2007 :: 18:10:
PS. Вот благодаря таким приколам в разных местах я и не считаю 1С готовым продуктом.

Смех

Кстати, у меня тоже что-то завешивало намертво конфигуратор, когда я пытался год назад поставить интеллисенс.
Это dots был? Можешь чуть развить тему, в чем причина?
  

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #60 - 24. Января 2007 :: 19:49
Печать  
kms писал(а) 24. Января 2007 :: 19:45:
Смех

Кстати, у меня тоже что-то завешивало намертво конфигуратор, когда я пытался год назад поставить интеллисенс.
Это dots был? Можешь чуть развить тему, в чем причина?

У меня при редактировании вылезали ошибки типа "Не хватает памяти" с последущим отстрелом копыт Конфигуратора. При этом в диагностике писалось что-то про dots. Ну я его и прибил (пришлось выкорчевывать еще из нескольких других файлов). Скорость работы увеличилась. Падения ушли (почти ушли, в очень редких случаях еще может гавкнуться после нажатия точки).
  
Наверх
 
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #61 - 24. Января 2007 :: 19:50
Печать  
Uzhast писал(а) 24. Января 2007 :: 19:40:
alest писал(а) 24. Января 2007 :: 19:26:
А что вы хотели за такие деньги Язык

Дело в том, что подобные приколы подрывают утверждение, что опесорсно-открыто-бесплатные проекты как минимум не хуже, чем коммерческие.

Так и не хуже! Где платный аналог опенконф+скрипты?!
  
Наверх
ICQ  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #62 - 24. Января 2007 :: 19:51
Печать  
И да! Функционал Intellisense вообще не изменился! Товарищи, зачем там dots????  Смех
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #63 - 24. Января 2007 :: 19:54
Печать  
alest писал(а) 24. Января 2007 :: 19:50:
Так и не хуже! Где платный аналог опенконф+скрипты?!

Вот-вот. Не хуже, потому что других нет. Думаешь, смогло бы оно составить конкуренцию коммерческой реализации? Я думаю, конкурировать оно могло бы только за счет бесплатности. Потому что приколы вроде жесткого синтаксиса и доработок напильником - это смерть для коммерческого продукта, такого бы там изначально не было бы.
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


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

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #64 - 25. Января 2007 :: 05:33
Печать  
я извиняюсь... честно говоря ОпенКонф для меня - лес густой и разбираться особо некогда, но поюзав функционал - отказываться уже неохота  Очень довольный
Но иногда и впрямь тормозит, редко вылетает... короче - у меня тоже есть dots - может его прибить?.. а как? Ужас
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #65 - 25. Января 2007 :: 05:44
Печать  
Я, конечно, извиняюсь, НО
т.к. использовал Опенконф с момента его создания, был одним из первых тестеров и разработчиков скриптов/плагинов (немного саморекламы Улыбка ) и хочу сказать несколько слов в защиту дотс-а.
У дотс-а есть пара явных преимуществ, которых нет и не будет у Интела -
1) дотс умеет подключать глобальник при работе в обычном модуле !!
2) при работе с глобальником как с текстом дотс работает намного быстрее Интела!

Я сам использовал этот скрипт не один год, сам его дорабатывал и прилично ускорил, проблем практически никогда не было !!
и уж тем более ничего не писалось про нехватку памяти.

Отказался от использования дотс-а совсем недавно, после появления быстрого парсера от Леши Диркса, который также умеет работать с глобальником.
ЗЫ внутренности дотс-а мне, конечно, не нравились, слишком уж все было запутано и с трудом поддавалось анализу и уж тем более сложно было что-то добавлять Улыбка
Возможно, у вас использовалась какая-то очень старая
версия? Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Plugin с экспортируемыми методами
Ответ #66 - 25. Января 2007 :: 05:49
Печать  
[-] исправлен ещё один случай самоубийства вместе с убийством конфигуратора
  • в скрипте поправлена вставка выбранного варианта - то, что было справа от курсора, остаётся нетронутым
  •   

    ParserPlugin.rar ( 121 KB | Загрузки )
    Наверх
     
    IP записан
     
    artbear
    1c++ developer
    1c++ moderator
    Отсутствует


    Эх, дайте что-нибудь новенькое
    да полезное потести

    Сообщений: 6303
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #67 - 25. Января 2007 :: 05:51
    Печать  
    Uzhast писал(а) 24. Января 2007 :: 18:10:
    artbear писал(а) 24. Января 2007 :: 13:03:
    А если кому-то хочется другое поведение, пусть реализует, но обязательно опционально  Язык

    Да, не работать тебе в Майкрософте Улыбка Видишь, они учли, что есть много людей со своими стилями кодирования. А ты хочешь, чтобы был жестко задан только один стиль и все.

    PS. Вот благодаря таким приколам в разных местах я и не считаю интеллисенс для 1С готовым продуктом. Ибо постоянно приходится его дорабатывать молотком и напильником.

    1. Что учел Майкрософт? Они также тупо не вставляют скобки, никакого выбора. При этом мы на это поведение повлиять никак не можем Печаль в отличие от Опенконфа Улыбка

    2. Скрипты делаются/делались авторами под себя в первую очередь. И только потом, после просьб об изменении/доработке функционала, автор может исправить что-то или доработать.
    Если тебе что-то не нравится, никто же не мешает исправить код, как тебе нужно Улыбка . Для этого и предназначен открытый код.

    3. И кто называл Опенконф с его скриптами/плагинами готовым продуктом Улыбка ?
    Все еще только развивается, хотя, конечно, за последние полгода было очень мало изменений.
      

    OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    artbear
    1c++ developer
    1c++ moderator
    Отсутствует


    Эх, дайте что-нибудь новенькое
    да полезное потести

    Сообщений: 6303
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #68 - 25. Января 2007 :: 05:58
    Печать  
    artbear писал(а) 25. Января 2007 :: 05:51:
    Uzhast писал(а) 24. Января 2007 :: 18:10:
    [quote author=artbear link=1160375325/40#54 date=1169643815]
    А если кому-то хочется другое поведение, пусть реализует, но обязательно опционально  Язык

    Да, не работать тебе в Майкрософте Улыбка Видишь, они учли, что есть много людей со своими стилями кодирования. А ты хочешь, чтобы был жестко задан только один стиль и все.

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

    OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    lustin
    1c++ power user
    Отсутствует


    1C *.*, ROR, Java - на
    этом остановимся

    Сообщений: 907
    Местоположение: Москва
    Зарегистрирован: 20. Октября 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #69 - 25. Января 2007 :: 06:29
    Печать  
    Позволю себе уточнить:

    1. Вопрос с отладочными версиями библиотек не решен?
    -  а то у меня не везде есть возможность их зарегистрировать...
      

    бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    kms
    1c++ power user
    1c++ moderator
    Отсутствует


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

    Сообщений: 4632
    Зарегистрирован: 19. Мая 2006
    Re: Plugin с экспортируемыми методами
    Ответ #70 - 25. Января 2007 :: 09:52
    Печать  
    ADirks писал(а) 25. Января 2007 :: 05:49:
  • в скрипте поправлена вставка выбранного варианта - то, что было справа от курсора, остаётся нетронутым

  • Леша, со скобками, конечно, это удобно... особенно Артуру Улыбка

    Но со вставкой я что-то недопонимаю - для чего это.
    Пусть есть ошибочный код, подлежащий исправлению (| - это позиция курсора):
    Код
    Выбрать все
    _т =СоздатьОбъект"ТаблицаЗначений"
    _т.Количество|Колонок(100);
     
    
    

    Нажимаем CTRL+SPACE, выбираем "КоличествоСтрок", получаем
    Код
    Выбрать все
    _т.КоличествоСтрок()Колонок(100);
     
    
    

    А ты для чего это так планировал? Может, я неправильно использую?
    Я бы если бы менял при активации в середине слова, я бы менял только текст метода полностью, а скобки и точку с запятой в этом случае бы точно не добавлял.

    Чтобы результат был такой:
    Код
    Выбрать все
    _т.КоличествоСтрок(100);
     
    
    

      

    De quelle planète es-tu?
    Наверх
     
    IP записан
     
    ADirks
    1c++ developer
    1c++ moderator
    Отсутствует


    А нужны ли мы нам?

    Сообщений: 692
    Местоположение: Новосибирск
    Зарегистрирован: 22. Мая 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #71 - 25. Января 2007 :: 10:08
    Печать  
    Цитата:
    А ты для чего это так планировал? Может, я неправильно использую?
    Я бы если бы менял при активации в середине слова, я бы менял только текст метода полностью, а скобки и точку с запятой в этом случае бы точно не добавлял.
    На самом деле нифига я не планировал  Улыбка  Просто экспериментировал и так и эдак, и уже совсем запутался. Текст справа я решил не трогать, потому что иногда это деструктивное поведение, но тут надо ещё подумать.  А со скобками ты прав - так и сделаю.
      
    Наверх
     
    IP записан
     
    kms
    1c++ power user
    1c++ moderator
    Отсутствует


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

    Сообщений: 4632
    Зарегистрирован: 19. Мая 2006
    Re: Plugin с экспортируемыми методами
    Ответ #72 - 25. Января 2007 :: 10:14
    Печать  
    ADirks писал(а) 25. Января 2007 :: 10:08:
    На самом деле нифига я не планировал  Улыбка

    Кстати, ты будешь смеяться, но я думаю, такой подход должен иметь какое-то научное название.
    Есть же разработка через тесты, должна быть разработка через макеты.
    Если я не найду названия в литературе (или sedmin не проявится), я придумаю его сам, ибо такой подход мне очень понятен.

    Цитата:
    Текст справа я решил не трогать, потому что иногда это деструктивное поведение, но тут надо ещё подумать.

    Это не беда, есть же CTRL+Z и почему-то CTRL-A Улыбка
      

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



    Сообщений: 2344
    Местоположение: г. Ростов-на-Дону
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #73 - 25. Января 2007 :: 15:18
    Печать  
    DrACe писал(а) 25. Января 2007 :: 05:33:
    я извиняюсь... честно говоря ОпенКонф для меня - лес густой и разбираться особо некогда, но поюзав функционал - отказываться уже неохота  Очень довольный
    Но иногда и впрямь тормозит, редко вылетает... короче - у меня тоже есть dots - может его прибить?.. а как? Ужас

    Конечно прибей.
    Это образец программирования "Как не надо делать".
    Артур, убери его плз из респозитария, а то он достал в конец.....
    В конце концов я на нем учил VBScript и OpenConf. Так что для меня он свою задачу выполнил...
      
    Наверх
    IP записан
     
    artbear
    1c++ developer
    1c++ moderator
    Отсутствует


    Эх, дайте что-нибудь новенькое
    да полезное потести

    Сообщений: 6303
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #74 - 25. Января 2007 :: 15:42
    Печать  
    Скрипт дотс удален из репозитария.
    Также поправлен скрипт RunAllIntellisence.vbs, который использовал дотс.
      

    OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    kuntashov
    Full Member
    ***
    Отсутствует


    1С:Специалист

    Сообщений: 130
    Местоположение: Саратов
    Зарегистрирован: 13. Июня 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #75 - 25. Января 2007 :: 15:57
    Печать  
    А как же словарь и синтаксический контроль? Или один  я ими пользовался?

    Думаю, их тогда отдельными скриптами оформить следовало бы, раз остальные пять тысяч строк не нужны.

    Грустно смотреть на тонущий Титаник Печаль
      

    С уважением, &&Александр Кунташов&&http://kuntashov.ru/
    Наверх
     
    IP записан
     
    Arta
    1c++ power user
    Отсутствует



    Сообщений: 2537
    Местоположение: Нижний Новгород
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #76 - 25. Января 2007 :: 19:33
    Печать  
    Перелопатил всю ветку, поставил все что можно заново из cvs но не могу вылечить такую проблему:

    P.S. ParserPlugin.dll лежит в C:\Program Files\1Cv77\BIN\config
      

    ClipBoard.jpg ( 6 KB | Загрузки )
    ClipBoard.jpg
    Наверх
     
    IP записан
     
    ADirks
    1c++ developer
    1c++ moderator
    Отсутствует


    А нужны ли мы нам?

    Сообщений: 692
    Местоположение: Новосибирск
    Зарегистрирован: 22. Мая 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #77 - 26. Января 2007 :: 04:29
    Печать  
    Arta писал(а) 25. Января 2007 :: 19:33:
    Перелопатил всю ветку, поставил все что можно заново из cvs но не могу вылечить такую проблему:

    P.S. ParserPlugin.dll лежит в C:\Program Files\1Cv77\BIN\config

    Видимо это всё та же проблема с отладочной версией - mfc42d.dll не находится, и плагин не грузится.
      
    Наверх
     
    IP записан
     
    artbear
    1c++ developer
    1c++ moderator
    Отсутствует


    Эх, дайте что-нибудь новенькое
    да полезное потести

    Сообщений: 6303
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #78 - 26. Января 2007 :: 04:44
    Печать  
    kuntashov писал(а) 25. Января 2007 :: 15:57:
    А как же словарь и синтаксический контроль? Или один  я ими пользовался?

    Думаю, их тогда отдельными скриптами оформить следовало бы, раз остальные пять тысяч строк не нужны.

    Да, про этот функционал я и забыл - уж очень давно им пользовался.
    ЗЫ сам понимаешь, что локальная-то копия у тебя осталась Улыбка да и старую версию также можешь достать из репозитария
      

    OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    trdm
    1c++ power user
    qt1l developer
    1c++ moderator
    Отсутствует



    Сообщений: 2344
    Местоположение: г. Ростов-на-Дону
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #79 - 26. Января 2007 :: 07:00
    Печать  
    artbear писал(а) 26. Января 2007 :: 04:44:
    kuntashov писал(а) 25. Января 2007 :: 15:57:
    А как же словарь и синтаксический контроль? Или один  я ими пользовался?

    Думаю, их тогда отдельными скриптами оформить следовало бы, раз остальные пять тысяч строк не нужны.

    Да, про этот функционал я и забыл - уж очень давно им пользовался.
    ЗЫ сам понимаешь, что локальная-то копия у тебя осталась Улыбка да и старую версию также можешь достать из репозитария

    Надо еще и интел поправить на такую ситуацию: когда  создается таблица значений, и в нее выгружается остатки по регистру или табличная часть.
      
    Наверх
    IP записан
     
    artbear
    1c++ developer
    1c++ moderator
    Отсутствует


    Эх, дайте что-нибудь новенькое
    да полезное потести

    Сообщений: 6303
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #80 - 26. Января 2007 :: 07:39
    Печать  
    А может, вернем его обратно ? Улыбка
      

    OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    Arta
    1c++ power user
    Отсутствует



    Сообщений: 2537
    Местоположение: Нижний Новгород
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #81 - 26. Января 2007 :: 09:09
    Печать  
    ADirks писал(а) 26. Января 2007 :: 04:29:
    Видимо это всё та же проблема с отладочной версией - mfc42d.dll не находится, и плагин не грузится.



    Хмм... Киньте плиз в меня этими dll-ками.
      
    Наверх
     
    IP записан
     
    lustin
    1c++ power user
    Отсутствует


    1C *.*, ROR, Java - на
    этом остановимся

    Сообщений: 907
    Местоположение: Москва
    Зарегистрирован: 20. Октября 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #82 - 26. Января 2007 :: 09:57
    Печать  
    Arta писал(а) 26. Января 2007 :: 09:09:
    ADirks писал(а) 26. Января 2007 :: 04:29:
    Видимо это всё та же проблема с отладочной версией - mfc42d.dll не находится, и плагин не грузится.



    Хмм... Киньте плиз в меня этими dll-ками.


    Мне пришлось весь пакет ставить Visual Studio, чтобы их подцепить, искать так было в лом (то есть лень).

    ОФФ. В Тотал Командере 7.0 в поставке уже идет плагин для просмотра линкованых библиотек - который подсвечивает Отсутствующие и показывает Используемые.
      

    бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    kms
    1c++ power user
    1c++ moderator
    Отсутствует


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

    Сообщений: 4632
    Зарегистрирован: 19. Мая 2006
    Re: Plugin с экспортируемыми методами
    Ответ #83 - 29. Января 2007 :: 19:25
    Печать  
    ADirks
    Леша, конфигуратор сегодня застрелился здесь:
    Код
    Выбрать все
    	ParserPlugin.dll!CMethod::GetName()  Line 357 + 0x12 bytes	C++
     	ParserPlugin.dll!CModule::Analyse()  Line 272 + 0xc bytes	C++
     	ParserPlugin.dll!CCodeAnalyser::AnalyseModule()  Line 279 + 0x17 bytes	C++
     	ParserPlugin.dll!CCodeAnalyser::GetTypeInPos()  Line 364	C++
     
    
    


    Код
    Выбрать все
    CString CMethod::GetName()
    {
    	if( !MethodName )
    		ParseHeader();
    
    	return MethodName->GetText(); // <-----------------------------------------------
    }
     
    
    


    Код
    Выбрать все
    	return MethodName->GetText();
    02E121E5  mov	   esi,esp
    02E121E7  mov	   ecx,dword ptr [__$ReturnUdt]
    02E121EA  push	  ecx
    02E121EB  mov	   edx,dword ptr [this]
    02E121EE  mov	   ecx,dword ptr [edx+5Ch]
    02E121F1  mov	   eax,dword ptr [this]
    02E121F4  mov	   edx,dword ptr [eax+5Ch]
    02E121F7  mov	   eax,dword ptr [edx] ; <---------------------------------
     
    
    

    имхо как раз на нулевой указатель попал (ECX == EDX == 0).
      

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



    Сообщений: 2344
    Местоположение: г. Ростов-на-Дону
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Plugin с экспортируемыми методами
    Ответ #84 - 29. Января 2007 :: 20:21
    Печать  
    Леш, ты бы посмотрел одну вещуюху на счет вылетов (напарывался на нее).
    Когда работаешь с макросами перевода строки из юникода в анси жти макросы
    фейх#ево отрабатывают и ошибка может вылезать в любом месте программы.
    По этому некий чел эту ситуёвину купировал:
    Код
    Выбрать все
    // Convert unicode OLE string (BSTR) to ANSI string.
    // Code page optional, system code page is used by default.
    // Return converted ANSI string and length (terminating zero
    // is not included) or zero, if conversion failed.
    // Конвертирует большие строки из BSTR в ANSI
    inline int BSTR2Ansi(BSTR bstr, LPSTR *lpsz, UINT uiCP = CP_ACP)
    {
        int iChars = ::SysStringLen(bstr);
        int iRet = 0;
        if(iChars)
        {
    	  *lpsz = new char[++iChars];
    	  iRet = WideCharToMultiByte(uiCP, 0, bstr, -1, *lpsz, iChars, 0, 0);
        }
        return (iRet == 0) ? 0 : --iRet;
    }
     
    
    

    Если ты конечно с комом работаешь...
    ps. Это так, просто одна из замеченных спотыкательных ситуевин, мой нос мне подсказывает, что возможно это поможет.
      
    Наверх
    IP записан
     
    Переключение на Главную Страницу Страницы: [1] 
    ОтправитьПечать