|   |   | 
| 
 | 64-битная COM компонента GoldParser помогите сделать | ☑ | ||
|---|---|---|---|---|
| 0
    
        TormozIT гуру 04.10.16✎ 00:02 | 
        Для парсинга текстов по грамматикам подсистема "Инструменты разработчика" используют движок GOLDParser, а точнее его COM-реализацию
 http://goldparser.org/engine/1/vb6/index.htm Конечно же эта реализация 32-битная. Хочу сделать 64-битную, но исходники на Visual Basic 6.0 (расширение главных файлов vbp и vbw), который вроде бы не поддерживал компиляцию под 64 бита. В Visual Studio 2008 я смог импортировать их только в проект Visual Basic Net. Подскажите есть ли способ перекомпилировать эти исходники под 64 бита (COM)? | |||
| 1
    
        jsmith 04.10.16✎ 00:05 | 
        Да, юзай си шарп.     | |||
| 2
    
        TormozIT гуру 04.10.16✎ 00:07 | 
        (1) Могу юзать хоть квантовую теорию. Но как и все мы, я начинаю с самых мало затратных и быстрых вариантов.     | |||
| 3
    
        Serginio1 04.10.16✎ 00:36 | ||||
| 4
    
        Serginio1 04.10.16✎ 00:37 | ||||
| 5
    
        TormozIT гуру 04.10.16✎ 07:24 | 
        Если уж делать ВК, то кроссплатформенный. Net это не даст.
 Поэтому COM компоненту в первую очередь хочется. Если не получится, то тогда ВК. | |||
| 6
    
        Serginio1 04.10.16✎ 07:40 | 
        (5) Да ну? 1С,Linux,Excel,Word,OpenXML,Net Core     | |||
| 7
    
        Serginio1 04.10.16✎ 07:42 | 
        А COM значит кроссплатформенный?
 Кстати v8: v8: Использование сборок .NET в 1С 7.x и 8.x на Com и основан. Он оборачивает .Net объект через Idispatch | |||
| 8
    
        TormozIT гуру 04.10.16✎ 07:54 | 
        (6) Похоже был не прав. Буду знать. Но в любом случае повторю, что в первую очередь хотелось бы COM с минимальными затратами.
 (7) Разве я это утверждал? | |||
| 9
    
        Serginio1 04.10.16✎ 08:01 | 
        Ну так я тебе и предлагаю COM. Просто через явную обертку.
 На самом деле если исходники есть, то несложно и COM сделать. Если есть нужный интерфейс то выкладывай. Попробую сделать на досуге. | |||
| 10
    
        Mauser 04.10.16✎ 08:09 | 
        (0) Нет. VB не умеет собирать 64битные проекты. Кроме того он завязан на рантайм библиотеки, которых в 64битном виде в природе не существует.
 Самое простое - вообще ничего не переписывать и попробовать запуск через ком суррогат, по аналогии с 32битным комконнектором 1С в 64битном окружении. | |||
| 11
    
        MM 04.10.16✎ 08:32 | 
        (10) Вот только автор, видимо, хочет получить универсальный механизм, для http://devtool1c.ucoz.ru/ ,  который будет просто устанавливаться и не потребует специальной настройки.     | |||
| 12
    
        Mauser 04.10.16✎ 08:37 | 
        (11) Я бы послушал автора. Спасибо.     | |||
| 13
    
        TormozIT гуру 04.10.16✎ 09:53 | 
        (11) Верно. Установка внепроцессных COM+ приложений сильно замедлит работу и без того медленного движка парсера. К тому же потребует указания учетки с паролем при установке. Это неприемлемо.     | |||
| 14
    
        Serginio1 04.10.16✎ 09:55 | 
        Я так понимаю тебе этот класс нужно реализовать?
 http://goldparser.org/engine/1/vb6/doc/index.htm Давай ProgID какой хочешь. Напишу на .Net | |||
| 15
    
        TormozIT гуру 04.10.16✎ 10:00 | 
        (14) У меня своих исходников конечно же нет. Я использовал готовый dll COM компоненты http://goldparser.org/engine/1/vb6/index.htm
 Если правда собрался написать COM компоненту на Net, то хотелось бы понимать сколько часов это примерно займет (10, 20, 50)? Я готов оплатить работу при условии предоставления всех исходников. | |||
| 16
    
        TormozIT гуру 04.10.16✎ 10:01 | 
        Также опиши сразу требования, которые она будет накладывать на среду исполнения.     | |||
| 17
    
        Serginio1 04.10.16✎ 10:07 | 
        Вот смотри http://goldparser.org/engine/5/net/
 Здесь есть исходники. Можешь и сам. Там несложно http://www.artinsoft.com/com-class-exposure.aspx http://forum.foxclub.ru/read.php?29,611394 | |||
| 18
    
        Serginio1 04.10.16✎ 10:09 | 
        То есть можно под .Net 3.5 скомпилировать. Она есть и на XP.
 Просто у меня проблемы с VB.Net. А почему не хочешь через v8: v8: Использование сборок .NET в 1С 7.x и 8.x Там писать вообще ничего не надо. | |||
| 19
    
        Serginio1 04.10.16✎ 10:20 | 
        Вот кстати есть конвертер http://www.vbto.net/     | |||
| 20
    
        TormozIT гуру 04.10.16✎ 10:23 | 
        (19) Описание дарит надежды. Спасибо. Вечером попробую.     | |||
| 21
    
        Serginio1 04.10.16✎ 10:38 | 
        Но по сути там для каждого класса надо прописать секцию
 [ComVisible(true)] [ProgId("Project1.Class1")] [ClassInterface(ClassInterfaceType.AutoDual)] И все. | |||
| 22
    
        Serginio1 04.10.16✎ 10:39 | 
        А исходники есть здесь http://goldparser.org/engine/5/net/     | |||
| 23
    
        TormozIT гуру 04.10.16✎ 23:33 | 
        (21) Где там? 
 (19) Больше 800 строк бесплатно не конвертит =( Живой варез не найден. | |||
| 24
    
        Serginio1 05.10.16✎ 00:03 | 
        (23) В исходниках по ссылке http://goldparser.org/engine/5/net/
 Visual Basic Source Code Для каждого класса нужно прописать [ComVisible(true)] [ProgId("Project1.Class1")] [ClassInterface(ClassInterfaceType.AutoDual)] [Guid("Твой-GUID-4276-928A-8B91C9891FF1")] А в AssemblyInfo [assembly: ComVisible(false)] | |||
| 25
    
        Serginio1 05.10.16✎ 00:12 | ||||
| 26
    
        Serginio1 05.10.16✎ 00:14 | 
        Просто тебе из  Visual Basic 6.0 нужно хотя бы ProgId взять.
 Если для обектов не нужны ProgId то достаточно [ComVisible(true)] [ClassInterface(ClassInterfaceType.AutoDual)] | |||
| 27
    
        TormozIT гуру 05.10.16✎ 00:45 | 
        (26) Спасибо. Что то начало получаться.     | |||
| 28
    
        Serginio1 05.10.16✎ 09:57 | 
        Я конечно не особый знаток парсеров. Но используя
 v8: v8: Использование сборок .NET в 1С 7.x и 8.x Можно использовать любые библиотеки на .Net http://www.codeproject.com/Articles/664785/A-New-Parser-Generator-for-Csharp | |||
| 29
    
        Mauser 05.10.16✎ 10:00 | 
        (28) А ты часом не занимался альфа-авто, не было у тебя знакомого, которому помогли вот эти ребята?     | |||
| 30
    
        Serginio1 05.10.16✎ 10:07 | 
        (29) Нет.     | |||
| 31
    
        Serginio1 05.10.16✎ 10:07 | 
        (29) Но ко мне часто обращаются написать обработку используя различные нетовские библиотеки.     | |||
| 32
    
        TormozIT гуру 05.10.16✎ 13:35 | 
        C# исходники реализуют далекую от VB6 варианта объектную модель.
 Видимо придется пробовать на VB Net. Как там COM интерфейс прилепить? | |||
| 33
    
        Serginio1 05.10.16✎ 13:56 | ||||
| 34
    
        TormozIT гуру 09.10.16✎ 22:55 | 
        Пол дня дня ушло на то, чтобы разобраться с тонкостями публикации Net классов в COM. Еще пол дня на адаптацию исходников движка нового поколения для совместимости со старым. В итоге компонента заработала и в 32b и в 64b режимах. К тому же новая версия движка заметно быстрее старой.
 Еще раз спасибо Serginio1 за подсказки. | |||
| 35
    
        oleg_km 09.10.16✎ 23:18 | 
        (34) Молодец, я неделю вкуривал, вот что значит молодость.     | |||
| 36
    
        Serginio1 10.10.16✎ 00:22 | 
        (34) Я все таки настоятельно советую обратить внимание на
 v8: v8: Использование сборок .NET в 1С 7.x и 8.x Преимущества рнгистрируешь только одну библиотеку. При этом используешь любую сборку .Net, в том числе и написанную тобой под определенные задачи. Для интереса попробуй вызвать код из твоей сборки. Скачать можно здесь http://ru.stackoverflow.com/questions/527763/%d0%9a%d0%b0%d0%ba-%d0%b2%d1%8b%d0%b7%d0%b2%d0%b0%d1%82%d1%8c-%d0%bc%d0%b5%d1%82%d0%be%d0%b4-%d0%b8%d0%b7-c-%d0%b2-1%d0%a1/527802#527802 | |||
| 37
    
        Mauser 10.10.16✎ 07:11 | 
        (36) Да, да, это важно! 
 А в целом всем советую этот сайт. Делают установку, настройку, доработку. Реагируют быстро и голову не приходится "ломать" над решением разного рода проблем. Работаем давно и плодотворно. Помогают во всем и в кротчайшие сроки. Но самое приятное - это гарантия на все работы и дальнейшее сопровождение. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |