Ik heb even een klein vraagje 
Is er een manier om een ActiveX dll te laden, zonder dat ie geregistreerd staat (mbv Regsvr32)
Is er een manier om een ActiveX dll te laden, zonder dat ie geregistreerd staat (mbv Regsvr32)
|_____vakje______|
Exact expert nodig?
Verwijderd
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
Ik neem aan dat ie z'n eigen dll of zo ff wil kunnen gebruiken. Dat is geen enkel probleem. Idd een "vreemde dll" gebruiken wordt wat lastig. Hoewel, never say neverOp donderdag 25 oktober 2001 13:18 schreef Yarvieh het volgende:
Als je de coclass en interface clsid's die je wilt hebben uit die dll van te voren al weet is het wel te doen, echter onmogelijk vanuit VB die alle lowlevel com(ActiveX) prut hide voor de nietsvermoedende VB programmeur, in C moet wel te doen zijn.
Exact expert nodig?
Ten eerste zijn die voor Code-Only dll's bedoeld (geloof ik), ten tweede, wat wil je er dan mee doen? Normaal gesproken doe je daarna een GetProcAdress() om een pointer naar een functie te krijgen. Leuk dat je die hebt, maar in VB kun je daar precies helemaal NIETS mee.Op donderdag 25 oktober 2001 13:34 schreef johnwoo het volgende:
Nog niet geprobeerd, maar volgens mij moet het wel (zelfs dynamisch) te doen zijn met de LoadLibrary of LoadLibraryEx API functies...
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
Verwijderd
Correct de library om typelibrary's te browsen heeft ms ook netjes verpakt in een com (activeX) component (TLBINF32.DLL) of er officiele documentatie van is weet ik echter niet, maar er is opzekers documentatie van. Maar ik ben er zeker van dat je het niet voor elkaar krijgt een loadlibrary te doen van je dll, z'n CreateInstance aan te roepen en daar nog es een QueryInterface overheen weet te fietsen zodat je de interface krijgt in vb die je wil hebbenOp donderdag 25 oktober 2001 14:22 schreef Crazy_D het volgende:
Hoewel, never say neverIk kan me herinneren nog weleens wat code gezien te hebben waarmee je je eigen object browser kon bouwen... in VB dus
Think about it.. als ze het *WEL* hadden gedaan had de instap drempel van VB een stuk hoger gelegen en hadden we nu een stuk minder van die lui in de industrie gehad die vooral op verjaardagen en partijtjes melden dat ze "zo handig met computers zijn"..... *zucht* ...*zwijmel*...het had allemaal zo mooi kunnen zijn.... damn you MS!Op donderdag 25 oktober 2001 14:23 schreef Gerco het volgende:
[..]
Think about it: Als je vanuit VB zulke dingen net zo makkelijk kon doen als vanuit C++, dan zouden ze VC++ niet meer verkopen.
Verwijderd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| 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
RegisterServer = (CallWindowProc(pa, hWnd, ByVal 0&, ByVal 0&, ByVal 0&) = &H0)
FreeLibrary lb
End Function |
CallWindowProc() ???? Als ik het goed heb is die voor het aanroepen van (jaja) Window Procedures! Niet willekeurige functies in een Dll!Op donderdag 25 oktober 2001 21:48 schreef Debbus het volgende:
RegisterServer = (CallWindowProc(pa, hWnd, ByVal 0&, ByVal 0&, ByVal 0&) = &H0)
1
2
| STDAPI DllRegisterServer(void); STDAPI DllUnregisterServer(void); |
1
2
3
4
| LRESULT CALLBACK MainWndProc( HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam) |
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
Verwijderd
1
| Shell "regsvr32.exe COMponent.dll" |