powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как бы так окуратненько подключиться к своей библиотечке находящийся в каталоге программы?
11 сообщений из 11, страница 1 из 1
Как бы так окуратненько подключиться к своей библиотечке находящийся в каталоге программы?
    #34014499
Фотография Vw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да так чтоб сначало проверить зарегина она или нет и если что зарегистрировать?
...
Рейтинг: 0 / 0
Как бы так окуратненько подключиться к своей библиотечке находящийся в каталоге программы?
    #34014556
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я делаю так:
Код: plaintext
1.
2.
Dim cLib As Object
Shell App.Path & "\ExeLib.exe"
Set cLib = CreateObject("ExeLib.Lib")
Фишка в том, что при запусе ActiveX-exe он всегда сам себя регистрирует.
Но обращаю внимание, что здесь могут быть проблемы с производительностью из-за позднего связывания, да ещё и с ActiveX-exe.
...
Рейтинг: 0 / 0
Как бы так окуратненько подключиться к своей библиотечке находящийся в каталоге программы?
    #34014570
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если используется раннее связывание (стоит галка в референсах), то если библиотека не зарегистрирована, то прога не запустится. А если позднее, то можно попробовать создать объект через CreateObject и при неудаче зарегистрировать.
...
Рейтинг: 0 / 0
Как бы так окуратненько подключиться к своей библиотечке находящийся в каталоге программы?
    #34014920
Фотография Vw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саму дллку подключил через референсы.
Сделал примерно так:
т.е. если происходит ошибка то дллка регится и процедура main выполняется снова..
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Public Sub Main()
On Error GoTo Err:
Dim frm As New Form1
frm.Show
Exit Sub
Err:
'если DLLки не зарегистрированны то регистрируем
If Err.Number =  429  Then
Shell App.Path & "\reg.bat", vbHide
Main
End If
End Sub
Вроде работает
...
Рейтинг: 0 / 0
Как бы так окуратненько подключиться к своей библиотечке находящийся в каталоге программы?
    #34015321
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vw,
это варварство, извини, регистрировать ActiveX DLL через внешний BAT-ник. За регистрацию отвечает точка входа DllRegisterServer. Если библиотека лежит в пределах видимости процесса (например, в том же каталоге), то достаточно задекларировать её:
Declare Function MyDllRegisterServer Lib "MyDll.dll" Alias "DllRegisterServer" () As Long,
а потом вызвать. Если dll лежит где попало, то у Matthew Curland-а есть пример - через LoadLibrary и GetProcAddress.
...
Рейтинг: 0 / 0
Как бы так окуратненько подключиться к своей библиотечке находящийся в каталоге программы?
    #34015342
Фотография Vw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин. где ж ты раньше был..
...
Рейтинг: 0 / 0
Как бы так окуратненько подключиться к своей библиотечке находящийся в каталоге программы?
    #34015468
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vwблин. где ж ты раньше был..
Здесь.
...
Рейтинг: 0 / 0
Как бы так окуратненько подключиться к своей библиотечке находящийся в каталоге программы?
    #34017405
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marvanЯ делаю так:
[src vba]...
Shell App.Path & "\ExeLib.exe"
...

А если ExeLib.exe находится в корневом каталоге?
...
Рейтинг: 0 / 0
Как бы так окуратненько подключиться к своей библиотечке находящийся в каталоге программы?
    #34017772
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge Gavrilov marvanЯ делаю так:
[src vba]...
Shell App.Path & "\ExeLib.exe"
...

А если ExeLib.exe находится в корневом каталоге?
По условию задачи она лежала в папке с приложением.
Кроме того, класть что-то в корень - не очень хороший тон.
Но если очень хочется, то

Dim fso As New Scripting.FileSystemObject
AppDisk = fso.GetDriveName(App.Path) & "\"
...
Рейтинг: 0 / 0
Как бы так окуратненько подключиться к своей библиотечке находящийся в каталоге программы?
    #34020540
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkiades Serge Gavrilov marvanЯ делаю так:
[src vba]...
Shell App.Path & "\ExeLib.exe"
...

А если ExeLib.exe находится в корневом каталоге?
По условию задачи она лежала в папке с приложением.
Кроме того, класть что-то в корень - не очень хороший тон.
Но если очень хочется, то

Dim fso As New Scripting.FileSystemObject
AppDisk = fso.GetDriveName(App.Path) & "\"
А автор программы не знает, куда пользователь вздумает ее установить. Поэтому надо предусматривать различные варианты. А ваше предложение опять рассчитано на предполагаемое расположение.
...
Рейтинг: 0 / 0
Как бы так окуратненько подключиться к своей библиотечке находящийся в каталоге программы?
    #34020950
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge Gavrilov Melkiades Serge Gavrilov marvanЯ делаю так:
[src vba]...
Shell App.Path & "\ExeLib.exe"
...

А если ExeLib.exe находится в корневом каталоге?
По условию задачи она лежала в папке с приложением.
Кроме того, класть что-то в корень - не очень хороший тон.
Но если очень хочется, то

Dim fso As New Scripting.FileSystemObject
AppDisk = fso.GetDriveName(App.Path) & "\"
А автор программы не знает, куда пользователь вздумает ее установить. Поэтому надо предусматривать различные варианты. А ваше предложение опять рассчитано на предполагаемое расположение.
Т.е. как это не знает? App.Path как раз и возвращает искомый путь.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как бы так окуратненько подключиться к своей библиотечке находящийся в каталоге программы?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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