Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Мои любимые DLL'ки Добавлено: 29.03.09 14:40  

Автор вопроса:  SergeyZuzic | Web-сайт: vsedlysita.narod.ru | ICQ: 474690219 
Как к VB6 подключить DLL из файла программно, вместо Проект/Информация.../Обзор/ОК???

Мож наподобия API (случайную взял ведь gdi32 - это DLL)
Public Declare Function AbortPath Lib "gdi32" Alias "AbortPath" (ByVal hdc As Long) As Long

Ответить

  Ответы Всего ответов: 13  

Номер ответа: 1
Автор ответа:
 SergeyZuzic



ICQ: 474690219 

Вопросов: 5
Ответов: 155
 Web-сайт: vsedlysita.narod.ru
 Профиль | | #1
Добавлено: 29.03.09 16:16
Чё нет идей

Ответить

Номер ответа: 2
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #2
Добавлено: 29.03.09 17:04
native dll - наподобие API, ActiveX dll в рантайм - сложней.

Ответить

Номер ответа: 3
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #3
Добавлено: 30.03.09 18:09
не-ActiveX через API LoadLibrary

Ответить

Номер ответа: 4
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #4
Добавлено: 30.03.09 19:29
Да не нужна LoadLibrary, т.к. можно декларировать и вызвать и напрямую.

Ответить

Номер ответа: 5
Автор ответа:
 SergeyZuzic



ICQ: 474690219 

Вопросов: 5
Ответов: 155
 Web-сайт: vsedlysita.narod.ru
 Профиль | | #5
Добавлено: 30.03.09 22:06
Напрямую это как, потому что если загружать через LoadLibrary он выдает ошибку о несуществующем классе?

Да не нужна LoadLibrary, т.к. можно декларировать и вызвать и напрямую.

Ответить

Номер ответа: 6
Автор ответа:
 SergeyZuzic



ICQ: 474690219 

Вопросов: 5
Ответов: 155
 Web-сайт: vsedlysita.narod.ru
 Профиль | | #6
Добавлено: 30.03.09 22:07
Public
G As New Graphic


Цитированную часть выделяет как ошибку

Ответить

Номер ответа: 7
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #7
Добавлено: 31.03.09 00:28
mc-black, как это напрямую? вписать в декларации полный путь к библиотеке что ли?
SergeyZuzic, у тебя активикс. Там всё сложно, то есть с извращениями. А вообще их надо регистрировать. Напиши бат-файлы для регистрации и её снятия.

Ответить

Номер ответа: 8
Автор ответа:
 SergeyZuzic



ICQ: 474690219 

Вопросов: 5
Ответов: 155
 Web-сайт: vsedlysita.narod.ru
 Профиль | | #8
Добавлено: 31.03.09 08:19
  1. C:
  2. cd %windir%\system
  3. regsvr32.exe quartz.dll


Уже зделано

Ответить

Номер ответа: 9
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #9
Добавлено: 31.03.09 18:51
SergeyZuzic, кстати не обязательно в систем32 копировать

Ответить

Номер ответа: 10
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #10
Добавлено: 01.04.09 13:05
хм, это?

Ответить

Номер ответа: 11
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #11
Добавлено: 01.04.09 13:06
хм, это?
Public Function RegisterServer(hwnd As Long, DllServerPath As String, bRegister As Boolean)
    On Error Resume Next

    ;Dim lb As Long, pa As Long
    lb = LoadLibrary(DllServerPath)

    If bRegister Then
        pa = GetProcAddress(lb, ";DllRegisterServer";)
    Else
        pa = GetProcAddress(lb, ";DllUnregisterServer";)
    End If

    If CallWindowProc(pa, hwnd, ByVal 0&, ByVal 0&, ByVal 0&;) = ERROR_SUCCESS Then
        MsgBox IIf(bRegister = True, "Registration", "Unregistration";) + " Successful"
   Else
        MsgBox IIf(bRegister = True, "Registration", "Unregistration";) + " Unsuccessful"
    End If
    'unmap the library's address
    FreeLibrary lb
End Function

Ответить

Номер ответа: 12
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #12
Добавлено: 01.04.09 13:06
блин

Ответить

Номер ответа: 13
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #13
Добавлено: 01.04.09 13:06
блин
  1. Public Function RegisterServer(hwnd As Long, DllServerPath As String, bRegister As Boolean)
  2.     On Error Resume Next
  3.  
  4.     'KPD-Team 2000
  5.     'URL: http://www.allapi.net/
  6.     'E-Mail: KPDTeam@Allapi.net
  7.     'We're going to call an API-function, without declaring it!
  8.  
  9.     ' Modified by G. Kleijer
  10.     ' gkleijer@casema.net
  11.     ' going to call the DllRegisterServer/DllUnRegisterServer API of the specified library.
  12.     ' there's no need to use the Regsvr32.exe anymore.
  13.  
  14.     ' Make sure the path is correct and that the file exists, otherwise VB will crash.
  15.  
  16.     Dim lb As Long, pa As Long
  17.     lb = LoadLibrary(DllServerPath)
  18.  
  19.     If bRegister Then
  20.         pa = GetProcAddress(lb, "DllRegisterServer")
  21.     Else
  22.         pa = GetProcAddress(lb, "DllUnregisterServer")
  23.     End If
  24.  
  25.     If CallWindowProc(pa, hwnd, ByVal 0&, ByVal 0&, ByVal 0&) = ERROR_SUCCESS Then
  26.        ' MsgBox IIf(bRegister = True, "Registration", "Unregistration") + " Successful"
  27.    Else
  28.        ' MsgBox IIf(bRegister = True, "Registration", "Unregistration") + " Unsuccessful"
  29.     End If
  30.     'unmap the library's address
  31.     FreeLibrary lb
  32. End Function

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам