
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
23.03.2005, 09:15:53
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
Для нужд 1С-программиста разработали в VB6 библиотеку ActiveX для доступа к данным (с объектами, коллекциями - полным ООП-набором). Однако использовать эту библиотеку 1с'овец не смог (ну, о его кваллификации заводить разговор не будем - кваллификация так себе). Меня интересует, в чем отличие библиотек ActiveX DLL от "обычных"dll. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 10:00:40
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
если просто то, если ActiveX - то надо в проге создавать объект, если DLL - то через Public Declare и т.д. На васике DLL не создаются. Т.е. ActiveX - это объект, как вы писали, а DLL - набор функций. Раньше лет так 10 назад, когда из васика надо было вызывать сложные API, то я на borland pascal рисовал DLL c удобной оберткой для дальнешей работы из васика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 10:53:26
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
big-dukeесли просто то, если ActiveX - то надо в проге создавать объект, если DLL - то через Public Declare и т.д. Если не возражаете, то именно "и т.д." меня и интересует. То, что Вы говорите, относится к особенностям использования в IDE. А меня больше волнуют различия в принципе действия, которые могут ограничить использование ActiveX ну, например, в 1С. Другими словами, куда показать пальцем нашему 1С-программисту (мучается же, бедняга :)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 13:15:45
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
big-dukeНа васике DLL не создаются. Раньше лет так 10 назад...На VB6 (Visual Studio 98 ) создаются и ActiveX, и просто DLL. Об Access'е не скажу - не пробовал, а в VBA созданную DLL подключаю в проект через Tools/References без проблем. В Object Browser видны все методы, свойства и события (см. аттачмент). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 13:22:06
|
|||
|---|---|---|---|
|
|||
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
Processor big-dukeНа васике DLL не создаются. Раньше лет так 10 назад...На VB6 (Visual Studio 98 ) создаются и ActiveX, и просто DLL. Это как ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 13:38:34
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
Alexey Kudinov Это как ?См. обеденную почту... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 13:38:39
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 14:01:38
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
To Big-Duke: А у вас обед ещё не закончился? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 14:15:45
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
Processor На VB6 (Visual Studio 98) создаются и ActiveX, и просто DLL. Просто dll на бейсике это и есть ActiveX dll, или, если угодно, COM, других он делать не умеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 14:20:32
|
|||
|---|---|---|---|
|
|||
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
Processor Alexey Kudinov Это как ?См. обеденную почту... Пока ничего нет. А не об этом ли идет речь ? Но это сторонняя утилита, а интересует создание стандартной DLL именно средствами VB 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 14:33:55
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
Antonariy Просто dll на бейсике это и есть ActiveX dll, или, если угодно, COM, других он делать не умеет.Цитата из: Петруцос Э., Хау К. Visual Basic 6 и VBA для профессионалов - СПб: Издательство "Питер", 2000 Стр.102, второй абзац сверху: ...элементы ActiveX, в отличие от классов, обладают визуальным интерфейсом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 14:37:20
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
Alexey Kudinov Пока ничего нет.Адрес взят из Вашего профиля... Письмо отправлено в 12.38 "по Киеву" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 14:41:58
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
2 Processor Не путайте ActiveX dll и ActiveX control (осх) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 14:43:09
|
|||
|---|---|---|---|
|
|||
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
ProcessorАдрес взят из Вашего профиля... Письмо отправлено в 12.38 "по Киеву" Спасибо. Жду. ...элементы ActiveX, в отличие от классов, обладают визуальным интерфейсом... очень странная цитата. При чем тут классы ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 14:47:42
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
2 Alexey Kudinov Все что делает эта соторняя утилита для создания полноценной библиотеки экспортирующей фунции - изменяет параметры передаваемые компилятору а также создает .def файл. Трюк в том что VB изпользует старый сишный компилятор(c2), вполне способный клепать библиотеки, его функциональность искуственно ограничена в самой среде. Я подобное уже делал своими срдствами, без этой утилиты, хотя она конечно удобнее :). Если нужно могу прислать подробнуые инструкции. Кстати, где-то здесь я, нечто подобное, кажется уже выкладывал. Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 15:08:51
|
|||
|---|---|---|---|
|
|||
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
Magnus232 Alexey Kudinov Все что делает эта соторняя утилита ... Трюк в том что VB изпользует старый сишный компилятор(c2), вполне способный клепать библиотеки, его функциональность искуственно ограничена в самой среде... Да, это известный факт. Меня интересовала возможность сделать обычную библиотеку средствами самого VB 6, оставаясь в рамках среды. Простой пример. _Средствами VB 6_ нельзя написать VBS скрипт, т.к. среда самостоятельно добавляет в файлы "лишнюю" информацию. Пример: создается модуль module1, в котором пишется Код: plaintext 1. 2. Если этот модуль сохранить как module1.vbs и сразу же запустить на исполнение, то произойдет ошибка --------------------------- Windows Script Host --------------------------- Script: C:\Module1.vbs Line: 1 Char: 1 Error: Type mismatch: 'Attribute' Code: 800A000D Source: Microsoft VBScript runtime error --------------------------- OK --------------------------- , т.к. в файле написано Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 15:13:02
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
AntonariyНе путайте ActiveX dll и ActiveX control (осх)Мы уклоняемся от темы. Nibbles пишет:Для нужд 1С... разработали в VB6 библиотеку ActiveX... Меня интересует, в чем отличие библиотек ActiveX DLL от "обычных"dll.Т.к. в 1С используется диалект VB, то и механизм использования библиотеки, по идее, не должен сильно отличаться от аналогичного в VBA. Big-duke ему правильно ответил. А второй вопрос Nibbles:куда показать пальцем нашему 1С-программистукак-то повис в воздухе, хотя, IMHO, вопрос риторический:То, что Вы говорите, относится к особенностям использования в IDE. А меня больше волнуют различия в принципе действия, которые могут ограничить использование ActiveX ну, например, в 1С.С 1С я не работал, поэтому однозначный ответ дать не могу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.03.2005, 15:16:44
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
2 Alexey Kudinov :), просто по твоим вопросам мне показалось что ты не в курсе этого трюка. Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.03.2005, 20:36:49
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
NibblesДля нужд 1С... разработали в VB6 библиотеку ActiveX... Меня интересует, в чем отличие библиотек ActiveX DLL от "обычных"dll. 1C говорит открытым текстом: "В качестве средств разработки внешней компоненты могут применяться Microsoft Visual C++, Microsoft Visual Basic 5.0, Borland Delphi 3.0. и др. " Важно только соблюдение GUID's стандартных интерфейсов Ответ на второй вопрос Nibbles: меня больше волнуют различия в принципе действия, которые могут ограничить использование ActiveX ну, например, в 1С. тоже косвенно есть на сайте 1С: компонент должен иметь сертификат "Совместимо! Система программ 1С:Предприятие". Только после этого нужно заводить разговор "о его кваллификации - кваллификация так себе"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.03.2005, 20:44:08
|
|||
|---|---|---|---|
|
|||
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
Processor "В качестве средств разработки внешней компоненты могут применяться Microsoft Visual C++, Microsoft Visual Basic 5.0, Borland Delphi 3.0. и др. " Важно только соблюдение GUID's стандартных интерфейсов Гм. Я не специалист по 1С, но по ссылке написано: 1.2 Опыт 1.2.1. АРХИВАЖНО!!! GUID's всех стандартных интерфейсов которые экспортируются компонентой должны равнятся GUID's указанных в примерах. IInitDone={AB634001-F13D-11D0-A459-004095E1DAEA} IPropertyBag={55272A00-42CB-11CE-8135-00AA004BB851} IPropertyProfile={AB634002-F13D-11D0-A459-004095E1DAEA} IAsyncEvent={AB634004-F13D-11D0-A459-004095E1DAEA} ILanguageExtender={AB634003-F13D-11D0-A459-004095E1DAEA} IStatusLine={AB634005-F13D-11D0-A459-004095E1DAEA} IExtWndsSupport={EFE19EA0-09E4-11D2-A601-008048DA00DE} В VB6 _стандартными средствами_ невозможно контролировать _значения_ GUID-ов интерфейсов. Можно только контролировать изменяются ли они (через version compatibility) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.03.2005, 20:54:56
|
|||
|---|---|---|---|
|
|||
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
Alexey KudinovВ VB6 _стандартными средствами_ невозможно контролировать _значения_ GUID-ов интерфейсов. Можно только контролировать изменяются ли они (через version compatibility) А на практике это означает, что разработчикам библиотеки придется найти ActiveX, в котором задекларированы эти инт-сы с "правильными" UID-ами и в свойствах проекта (Version Compatibility-> Binary Compatibility ) указать этот ActiveX как параметр ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2005, 00:40:13
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
Alexey Kudinov Alexey KudinovВ VB6 _стандартными средствами_ невозможно контролировать _значения_ GUID-ов интерфейсов. Можно только контролировать изменяются ли они (через version compatibility) А на практике это означает, что разработчикам библиотеки придется найти ActiveX, в котором задекларированы эти инт-сы с "правильными" UID-ами и в свойствах проекта (Version Compatibility-> Binary Compatibility ) указать этот ActiveX как параметр думаю, это не совсем так. я тоже не специалист в 1С. И никогда не писал для него компонентов. Однако то, что написано в цитате «Архиважно» вполне однозначно прочитываю следующим образом. 1)DLL в VB должна быть реализована именно как ActiveX DLL и никак иначе, ( ну, наверно, ActiveX EXE тоже сгодится, но никак не «стандартная» DLL…) 2) перечисленные GUID должны быть явно оформлены (объявлены) ЛИБО в специально для написания таких компонентов созданном описателе типов TLB, ЛИБО в какой-то из стандартных 1С-ных DLL-лей, ссылка на которую (DLL/TLD) должна присутствовать в VB проекте на этапе компиляции. Если используется TLB, то не нужно включать его в в распространяемую версию своей VB-шной ACTIVEX DLL. На клиенте с уже установленным 1C он (этот TLB) просто не нужен. Если DLL, то тоже не нужно, так как она должна быть установлена при установке 1С. 3) Заявленные интерфейсы обязательны к реализации (Implements) в класс-е/-ах созданной VB-шной DLL. Именно за них будет дергать Ваш компонент-проект 1С, инициализируя Ваш компонент и «вживляя» его в свою среду. И, если эти интерфейсы не реализованы, то стучаться 1C в вашем проекте не к чему. Эти интерфейсы по существу образуют протокол взаимодействия 1С c вашей DLL. Не зная этого протокола (набора ожидаемых 1С интерфейсов и способа их использования в 1C / реализации в VB - проекте), как будто нет причины усаживаться за написание «компонента». Так мне кажется… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2005, 10:20:05
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
VictoshaНе зная этого протокола (набора ожидаемых 1С интерфейсов и способа их использования в 1C / реализации в VB - проекте), как будто нет причины усаживаться за написание «компонента». Протокола взаимодействия между Access и ActiveX-библиотекой я тоже не знаю (как и протоколоа взаимодействия между ней и VC++). Но это не мешает мне эти библиотеки создавать. Ладно, я понял - обращусь к тем, кто уже делал DLL на VB для 1С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2005, 10:45:23
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
nibbles VictoshaНе зная этого протокола (набора ожидаемых 1С интерфейсов и способа их использования в 1C / реализации в VB - проекте), как будто нет причины усаживаться за написание «компонента». Протокола взаимодействия между Access и ActiveX-библиотекой я тоже не знаю (как и протоколоа взаимодействия между ней и VC++). Но это не мешает мне эти библиотеки создавать. Ладно, я понял - обращусь к тем, кто уже делал DLL на VB для 1С. а зачем его знать - COM, он и в Африке COM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2005, 11:21:55
|
|||
|---|---|---|---|
ActveX DLL и "обычные" DLL - отличия |
|||
|
#18+
Hibernateа зачем его знать - COM, он и в Африке COM.... в Африке обувь со шнурками, наверное, используется гораздо реже, чем без них. А программисту надо знать, за какие шнурки надо дёргать, чтобы ентот самый СОМ упаковать для той же 1С. Может, спецы по VB.NET сделают ретроспективный реинжиниринг этого кода и найдут ту ниточку, потянув за которую nibbles встроит требуемый GUID в свою DLL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=60&mobile=1&tid=2168044]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
83ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 425ms |

| 0 / 0 |
