powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Создание самопальной dll - подскажите порядок действий.
35 сообщений из 35, показаны все 2 страниц
Создание самопальной dll - подскажите порядок действий.
    #34109095
User-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выбрал создание 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
Создание самопальной dll - подскажите порядок действий.
    #34109223
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с ООП знаком
на этом построен ActiveX dll

эти функции нужно прописать в классе в проекте
откомпилировать проект как dll
и вызывать через Refernce dll из другого приложения
это в кратце
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34109286
User-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос был, вобщем то, почему не получается пошаговый запуск процедуры в VB? Насчет вызова через ссылки из другого проекта понятно. Кстати, все работает, но обязательно надо создавать Проект-2 только чтоб отладить Проект-1?
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34109330
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для отладки нужен второй проект
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34109370
User-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поторопился, сказав "все работает". Работает при вызове из 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
Создание самопальной dll - подскажите порядок действий.
    #34109411
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нужен Class а не Модуль
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34109490
User-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Class Modules ест-нно, в обоих случаях.
Access нормально видит Plus.dll и работает с ней. VB вроде видит, но работать не хочет или работает, но где-то глубоко в себе.
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34109524
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дай проект
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34109591
User-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какие файлы прислать(расширения)?
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34109596
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dll + исходник + тест проект
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34109644
User-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Расширения еще какие кроме .dll и .vbp? И как несколько файлов к письму прикрепить?
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34109656
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
весь проект на dll (vbp, cls )
проект проверки

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

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

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

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

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

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

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

public sub main()
код
end sub

в свойствам проекта нужно указать что запуск через sub main
startup object
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34110225
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всё до завтра
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34111584
User-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не выходит. В стандартный ЕХЕ, кроме знакомого модуля класса, добавил "просто модуль", а в нем - sub main и эту sub main указал в св-ве startup object....
Ну не хочет все это работать!!!
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34111679
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно не будет
функция qq метод из класса
а обьект на этот класс не создан
это чистый ООП

сейчас исправлю
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34111694
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
держи
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34112159
User-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опять у тебя все работает...
Значит отлаживать можно только проект "стандартный ЕХЕ"?
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34112215
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что значит только

ты в exe тестируешь свой класс который потом должен
превратится в dll
ты не можешь тестировать dll в самом dll
пилишь ветку на которой сидишь


можно сделать группу проектов
1 dll
2 demo для dll

в этом случаи dll в конечном этоге статновится частью самого exe

вопрос что тебе нужнее
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34112305
User-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тестировать саму откомпилированную dll, конечно нельзя, но я о проекте, из которого создается dll. То есть можно ли тестировать модули проекта, если при его создании я указал ActiveX DLL, а не Standard EXE?
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34112338
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
одназначно нет

только проверить что нет ошибок в синтаксисе
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #34112348
User-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Создание самопальной dll - подскажите порядок действий.
    #35420450
profts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как в Visual Studio 2005 при создании dll включить ее в проект?

У меня создан Project1 (через который хочу тестировать dll)с кодом:

Public Class Form1 Sub Form1_load() Dim aa As New plus1 Debug.Print(aa.qq(1 2)) 'UPGRADE_NOTE: Object aa may not be destroyed until it is garbage collected. Click for more: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="6E35BFF6-CD74-4B09-9689-3E1A43DF8969"' aa = Nothing End SubEnd Class


Далее добавляю проект ConsoleApplication. В нем добавляю Class1 и вставляю код:
Option Strict OffOption Explicit OnFriend Class plus1 Public Function qq(ByRef s As Short ByRef t As Short) As Short qq = s + t Debug.Print(qq) End FunctionEnd Class

В строке "Dim aa As New plus1" ругается "Тип "plus1" не определен"

В чем может быть проблема?
...
Рейтинг: 0 / 0
Создание самопальной dll - подскажите порядок действий.
    #35420593
profts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, разобрался
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Создание самопальной dll - подскажите порядок действий.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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