Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Создание самопальной dll - подскажите порядок действий. / 25 сообщений из 35, страница 1 из 2
07.11.2006, 14:02
    #34109095
User-2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
Выбрал создание ActiveX DLL. В модуле размещаю 2 процедуры:
Код: plaintext
1.
2.
3.
4.
5.
6.
Public Function qq(s As Integer, t As Integer) As Integer
qq = s + t
Debug.Print qq
End Function
Sub gg()
qq  2 ,  6 
End Sub
Запускаю процедуру gg по шагам (F8), но ничего не происходит, даже строка не подсвечивается.
...
Рейтинг: 0 / 0
07.11.2006, 14:45
    #34109223
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
с ООП знаком
на этом построен ActiveX dll

эти функции нужно прописать в классе в проекте
откомпилировать проект как dll
и вызывать через Refernce dll из другого приложения
это в кратце
...
Рейтинг: 0 / 0
07.11.2006, 15:02
    #34109286
User-2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
Вопрос был, вобщем то, почему не получается пошаговый запуск процедуры в VB? Насчет вызова через ссылки из другого проекта понятно. Кстати, все работает, но обязательно надо создавать Проект-2 только чтоб отладить Проект-1?
...
Рейтинг: 0 / 0
07.11.2006, 15:13
    #34109330
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
для отладки нужен второй проект
...
Рейтинг: 0 / 0
07.11.2006, 15:23
    #34109370
User-2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
Поторопился, сказав "все работает". Работает при вызове из Access. А вот, что происходит в VB:
1. Модуль из первого поста обозвал Plus1, сам проект - Plus. Создал из него dll.
2. Создаю новый проект (опять ActiveX DLL), добавляю ссылку на Plus.dll, создаю процедуру:
Код: plaintext
1.
2.
3.
Public Function aaaa() As Integer
Dim ee As New plus1
aaaa = ee.qq( 2 , 3 )
End Function
, на последней строке добавляю точку останова, запускаю...ни фига не происходит, тогда намеренно искажаю код:
Код: plaintext
1.
2.
3.
Public Function aaaa() As Integer
Dim ee As New plus1
aaaa = ee.qq
End Function
Access в этом месте ругался на неправильное число аргументов у функции qq, но VB и это проглатывает. Где грабли?
...
Рейтинг: 0 / 0
07.11.2006, 15:34
    #34109411
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
нужен Class а не Модуль
...
Рейтинг: 0 / 0
07.11.2006, 15:50
    #34109490
User-2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
Class Modules ест-нно, в обоих случаях.
Access нормально видит Plus.dll и работает с ней. VB вроде видит, но работать не хочет или работает, но где-то глубоко в себе.
...
Рейтинг: 0 / 0
07.11.2006, 15:58
    #34109524
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
дай проект
...
Рейтинг: 0 / 0
07.11.2006, 16:13
    #34109591
User-2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
Какие файлы прислать(расширения)?
...
Рейтинг: 0 / 0
07.11.2006, 16:15
    #34109596
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
dll + исходник + тест проект
...
Рейтинг: 0 / 0
07.11.2006, 16:29
    #34109644
User-2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
Расширения еще какие кроме .dll и .vbp? И как несколько файлов к письму прикрепить?
...
Рейтинг: 0 / 0
07.11.2006, 16:31
    #34109656
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
весь проект на dll (vbp, cls )
проект проверки

пришли несколько раз и через zip
...
Рейтинг: 0 / 0
07.11.2006, 16:37
    #34109683
User-2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
Проект "Plus"...
...
Рейтинг: 0 / 0
07.11.2006, 16:38
    #34109692
User-2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
Проект, из которого пытаюсь запустить Plus.dll
...
Рейтинг: 0 / 0
07.11.2006, 16:50
    #34109749
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
а что ты хотел получить
gg - это процедура а не функция и не вернет результат

первая работает

возвращаю немного исправленный вариант + тест
может быть не было бинарной совместимости на dll

переставь dll проверь references
...
Рейтинг: 0 / 0
07.11.2006, 17:01
    #34109789
User-2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
А причем теперь gg? В проверочном проекте запускается функция qq из файла Plus.dll!
...
Рейтинг: 0 / 0
07.11.2006, 17:05
    #34109812
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
gg просто висела в dll
это не важно

кроме этого если будут изменения в описаниях Pulic
выскочить сообщение о бинарной несовместимости
нужно Ок и Continue
что не генерить каждый раз новый CLID для dll
...
Рейтинг: 0 / 0
07.11.2006, 17:28
    #34109913
User-2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
На строке
Код: plaintext
MsgBox a.qq( 2 ,  3 )
сообщение, что компонент Активикс не может создать объект. А зачем обязательно форму добавлять, почему нельзя из модуля класса запускать?
...
Рейтинг: 0 / 0
07.11.2006, 17:36
    #34109944
User-2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
Ошибку с MsgBox починил, но основной вопрос так и не решен: как отладить процедуру qq в проекте Plus?
...
Рейтинг: 0 / 0
07.11.2006, 17:42
    #34109978
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
если нужно запускать процедуру про создании dll
можешь использовать процедуру Inizalizatoin в классе самого dll
это типа такой конструктор как в С++
она сработает после as New

я ведь не знаю что тебе нужно точно
...
Рейтинг: 0 / 0
07.11.2006, 18:32
    #34110145
User-2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
Нужно отладить проект(его процедуру), из которого я буду делать dll. Можно как-то, не создавая dll, пошагово походить по коду, убрать ошибки, улучшить, пригладить и т.д.? Т.е. ровно так же, как это возможно в VBA: создать процедуру, погонять ее, а потом уже решать сохранять эту байду или ну ее.
...
Рейтинг: 0 / 0
07.11.2006, 18:41
    #34110177
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
конечно можно и нужно
сначало сделать как exe-проект + проверка и тестирование
а потом преобразовывать в dll
...
Рейтинг: 0 / 0
07.11.2006, 18:47
    #34110192
User-2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
а в стандартном ехе можно запускать процедуру в модуле класса, только через события формы? Не получается иначе. На первой строке процедуры нажимаю F8 и ничего, только вываливается на первый план сама форма. Блин! Как все сложно то!!!
...
Рейтинг: 0 / 0
07.11.2006, 18:54
    #34110211
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
не обязательно

можно в модуле (просто модуль не класс)
в нём пишется

public sub main()
код
end sub

в свойствам проекта нужно указать что запуск через sub main
startup object
...
Рейтинг: 0 / 0
07.11.2006, 19:01
    #34110225
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание самопальной dll - подскажите порядок действий.
всё до завтра
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Создание самопальной dll - подскажите порядок действий. / 25 сообщений из 35, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]