My favorites | Sign in
Project Logo
                
New issue | Search
for
| Advanced search | Search tips
Issue 62: SciTE Helper на С
1 person starred this issue and may be notified of changes. Back to list
Status:  Accepted
Owner:  mozers
Type-Enhancement
Priority-Medium


Sign in to add a comment
 
Reported by mozers, Dec 13, 2007
SciTE Helper - ActiveX компонент для организации взаимодействия между 
текстовым редактором SciTE и любыми скриптами и приложениями 
поддержимающими COM технологию.
Незаменимая вещь для желающих создать WSH скрипт или какую то утилиту для 
расширения функционала SciTE.
Поскольку SciTE Helper работает напрямую с Scintilla то вполне возможно 
его использование и в других редакторах, использующих этот движок.
Ко мне даже поступали просьбы разрешить использование SciTE Helper в новых 
разработках наших зарубежных коллег.
Все бы хорошо, но есть одно НО.
Поскольку я не знаю C, SciTE Helper был написан на Visual Basic 5.0.
Почему на 5.0 ? А все из за того что для работы приложений, написанных на 
VB требуется наличие библиотеки msvbvm?0.dll.
Библиотека msvbvm50.dll устанавливалась по умолчанию на ВСЕ версии 
Windows, вплоть до Windows XP SP1.
В новых версиях Windows (XP SP2 и далее) паразиты Мелкософтовцы удалили 
msvbvm50.dll, заменив ее на msvbvm60.dll, тем самым одним махом уничтожив 
заживо целую кучу программ, написанных в Visual Basic 5.0 :(
Конечно пользователь свободно может скачать эту msvbvm50.dll (ее даже 
регистрировать не надо. Достаточно поместить в System32) но настроение 
уже, сами понимаете, не то :(

Было бы просто великолепно, если бы умный человек, понимающий толк в С 
взялся бы переписать эту прогу.
Реализовать это дело на С было бы гораздо проще, нежели мне на VB, 
поскольку в SciTEDirector_rus.html уже дан готовый пример реализации 
интерфейса - ничего адаптировать не надо.
Самое главное - исчезнет эта неприятная привязка к библиотеке 
msvbvm50.dll, которая, учитывая все большую интеграцию SciTE Helper в 
самые разнообразные скрипты, может попортить еще немало крови...
Comment 1 by leo.bonart, Jun 06, 2008
Исходники прислать сможешь? Я на Дельфи за ночь наваяю :)
Comment 2 by mozers, Jun 06, 2008
Исходники - в свободном доступе - http://scite-ru.googlecode.com/svn/trunk/helper
Если результат не будет требовать установки специализированных библиотек и размер 
откомпилированного варианта не будет превышать существующего, то можно и на Дельфи.
(Иначе - смысла нет никакого).
Comment 3 by leo.bonart, Jun 08, 2008
Размер - превышает (но это неудивительно). Библиотек - не требует.
Comment 4 by leo.bonart, Jun 09, 2008
Собственно размер не может не превышать на любом языке - ActiveX сам по себе требует неслабой обвязки, которая может таскаться с собой или выноситься в RunTime-библиотеки. Например, дельфийский SciTe Helper собранный таким способом - тоже меньше 20 килобайт.
С C несколько другая проблема: ActiveX на нем - геморрой страшный, плюс требует коммерческие библиотеки и компилятор. А так оно конечно да - можно даже автоматизацию в сам SciTE интегрировать.

Comment 5 by mozers, Jun 09, 2008
Насколько "превышает" ?
Потом, я полагал что в любой поставке виндов уже присутствуют стандартные библиотеки 
для создания ActiveX компонентов, которые вполне можно заюзать.
Неужели альтаернатива msvbvm?0.dll отсутсвует?

Comment 6 by leo.bonart, Jun 10, 2008
150 килобайт - SciteHelper на Delphi
17 килобайт - он же, но требующий RTL-пакеты 
Практически все это - обвязка. 
>Неужели альтаернатива msvbvm?0.dll отсутсвует?
Да. Или качать служебные dll-ки или автономные модули от 150к.
Впрочем, на фоне общего объема дистрибутива это не страшно
>Потом, я полагал что в любой поставке виндов уже присутствуют стандартные библиотеки 
для создания ActiveX компонентов, которые вполне можно заюзать
Хотелось бы... Собственно на Visual Basic это легче всего, а Delphi - номер два по простоте создания ActiveX.
Comment 7 by alrusdi, Aug 27, 2008
Ну или, как вариант, можно упаковать msvbvm50.dll в этот самый хелпер.
Писать на С ActiveX компоненты это ад - даже сами M$ это признают, да и ситуация с
рамером конечного файла такая же, как в VB или Delphi, так как С будет требовать свои
RTL, версии которых тоже от версии к версии меняются.
Comment 8 by mozers, Aug 28, 2008
Упаковывать в helper файл весом более 1Mb мы, конечно, не будем.
Ну, что ж, если другие ЯП не дают _ощутимых_преимуществ_ перед VB5 в данном вопросе, 
то пусть все остается как есть.
Comment 9 by nafigtymne, Apr 02, 2009
вы все тут тут так говорите что я чувствую себя ламером каким то.скажите через ету 
фигню типа можно скрипты писать?

Comment 10 by mozers, Apr 02, 2009
2nafigtymne:
Если судить по заданному вопросу, то Ваше мнение о себе - абсолютно правильно :)
В документации http://scite-
ru.googlecode.com/svn/trunk/pack/tools/Helper/SciTE.Helper_rus.html очень подробно 
расписано с чем "ету фигню" едят.

Sign in to add a comment

Hosted by Google Code