Переключение на Главную Страницу Страницы: [1] 2 3 ... 6 ОтправитьПечать
Очень популярная тема (более 25 ответов) Plugin с экспортируемыми методами (число прочтений - 29595 )
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
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 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
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 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
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 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 записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 ... 6
ОтправитьПечать