Avatar billede tigerz Nybegynder
19. juni 2002 - 14:18 Der er 7 kommentarer og
1 løsning

VB -> OCX/DLL interface og interface informationer

Hej... :-)

Jeg ønsker at finde informationer om eventuelle interfaces / funktionskald i OCX/DLL-filer.

1. Man bliver nødt til at have funktionskald med parametre mm. for de enkelte interfaces, men hvor findes det henne? (f.eks. filemgmt.dll, ftpwpp.dll, mscal.ocx)

2. Når jeg har definitionerne over de enkelte OCX/Dll-filer skal jeg have mit VB-program til at benytte disse funktioner. Jeg har læst en hel del på denne side, men har ikke kunnet finde det jeg søger, så kald til ovennævnte filer vil også være en stor hjælp!
Avatar billede mhoffmann Nybegynder
19. juni 2002 - 14:22 #1
Luk det ene spørgsmål. Du har lavet to.
Avatar billede tigerz Nybegynder
19. juni 2002 - 14:32 #2
Kernel32.dll - vil jeg også gerne have informationer om! :-)
Avatar billede mhoffmann Nybegynder
19. juni 2002 - 14:43 #3
Luk nu det ene spørgsmål før jeg anmelder dig.
Avatar billede tigerz Nybegynder
19. juni 2002 - 14:51 #4
Det er første gang jeg har et spørgsmål... og jeg kan ikke se hvor jeg skal lukke det henne :-(
Avatar billede mhoffmann Nybegynder
19. juni 2002 - 15:07 #5
Ok, det kunne du bare have sagt :-) Du laver selv et svar som du så acceptere. Så er spørgsmålet lukket. Man må kun oprette det samme spørgsmpål en gang, det skal du huske i fremtiden. Skriv bare hvis du er i tvivl om noget.

Mvh. Martin
Avatar billede tjacob Juniormester
21. juni 2002 - 09:25 #6
Du er nødt til at studere de (eventuelle) SDK'er, der følger med "fremmede" dll'er og ocx'er, for at lære om deres funktionalitet. Desværre er ikke alle producenter af software lige dygtige til at lave dokumentation. Microsoft er heller ikke altid for flinke til det.

MHT til Microsofts egne (f.eks. kernel32) kan du se en oversigt over funktioner og konstanter i en API-text viewer.
(der følger en med Visual Studio -under tools. Her kan du også finde et program der hedder Depends, hvor du kan åbne en dll-fil, og dels se hvilke andre dll'er den er sammenkædet med, og dels se hvilke funktioner den indeholder.).
Ellers kan du anvende andre API-guider. Der er en rigtig god en her, og der er også en masse eksempler m.m.:
 
http://www.allapi.net/        'handler stort set kun om Microsoft API'er

MHT til at anvende funktionerne:
f.eks. funktionen SetWindowPos fra user32.dll:

I et modul erklæres funktionen; dels navnet på funktionen, og dels hvilken dll den kommer fra:

Declare Function SetWindowPos Lib "user32" _
(ByVal h, ByVal hb, ByVal x, ByVal y, ByVal cx, ByVal cy, ByVal f) As Long

Oftest erklæres også en række konstanter:

Global Const SWP_NOMOVE = 2
Global Const SWP_NOSIZE = 1
Global Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Global Const HWND_TOPMOST = -1
Global Const HWND_NOTOPMOST = -2


Nu kan du kalde funktionen overalt i din kode: Eks.:

Public Sub Form_OnTop(Form As Form)
    Dim lResult As Long
    lResult& = SetWindowPos(Form.hwnd, HWND_TOPMOST, 0&, 0&, 0&, 0&, FLAGS)
End Sub

Public Sub Form_NotOnTop(Form As Form)
    Dim lResult As Long
    lResult& = SetWindowPos(Form.hwnd, HWND_NOTOPMOST, 0&, 0&, 0&, 0&, FLAGS)
End Sub

Her sættes stort set alle parametre til 0, men det skal man naturligvis vide ;-).

Generelt vil jeg sige at det sommetider kan være svært at finde ud af præcist hvordan man kalder/anvender dll'er og ocx'er. Hvis man kender navnet på dll'en/funktionen kommer man dog som regel langt ved at søge på Google.
-Det er faktisk mit bedste råd ;-)

/tjacob
Avatar billede tjacob Juniormester
21. juni 2002 - 09:39 #7
MHT OCX'er:

Du skal først tilføje OCX'en til dit projekt via: Project/Components...

Herefter kan du se dens egenskaber og properties i den indbyggede Object Browser.
Avatar billede tigerz Nybegynder
21. juni 2002 - 10:24 #8
jeg takker for den gode hjælp.... nu kan jeg da komme videre! :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester