19. oktober 1999 - 11:53Der er
9 kommentarer og 1 løsning
Lav en dll som loades fra exe!!
Hvordan laver jeg en function i en dll som så loades fra en standard exe fil??? Jeg vil helst have at en laver et project, zipper det, uploader det og giver mig en url...
Jeg har desværre ikke en kompiler, men jeg kan da give dig et lille fif. opret et dll activex projekt. navngiv dit projekt og navngiv den klasse der automatisk åbnes. Gå ind i properties winduet for dit projekt under fanen make og angiv den til enten project eller binær, forskellen kan du læse i online info. i kode vinduet opretter du nu en funktion eks:
function beregn(byval Ta1 as integer, byval Tal2 as integer) as interger) 'beregn tal1 og tal2 dim NytTal as integer NytTal = Tal1 + Tal2 end function lav dll filen under menupunkt filer, make navn.dll
fra et almindeligt exe vb. under projekt referencer, find og klik på den dll du lige har lavet. i kodevinduet f.eks i en kommandoknap klik event. sub commando1_click() dim mindll as new navn.dll dim resultat as integer resultat=min.dll.beregn(2,2) ' kalder den funktion du skrev i dll filen msgbox resultat 'viser resultat af 2 +2 i en msgbox end sub
Der er meget mere i det en denne lille beskrivelse, men den kan give dig et lille skub i den rigtige retning. når du har fået dette til at virke bør du koncentrere dig lidt om de mere objectorienterede redskaber i vb. properties "let og get" initalize event og terminialize event i en klasse er vigtige, samt private og public begreberne. Håber det kunne bruges til et eller andet ellers kan jeg da sende dig en lille source kode projekt med dette eksempel senere idag. Hilsen Simon
Først skal du lave en klasse, som skal fungere som forside af DLL'en. I denne klasse skal du lave de Sub-rutimer, som du gerne vil have tilgænglig i DLL'en. Husk at de rutimer som skal være synlige, skal hedde Public Sub/functions og dem som ikke skal kunne startes/vises udmiddelbart fra DLL'en, men skal bruges til interne rutimer, skal være Private Sub/functions.
Herefter kan du begynde med at tilføje forms m.m. Din rutime i en VB DLL vil så komme til at se således ud:
Public Function Beregn(byval Ta1 as integer, byval Tal2 as integer) as interger 'beregn tal1 og tal2 dim NytTal as integer NytTal = Tal1 + Tal2 Beregn = NytTal Unload me end function
Nu kompilerer du dll'en. Ovre i et andet visual basic program, skal du under referencer, finde din DLL. Herefter kan du blot lave følge sub i din program.
Private Sub Test_Af_DLL() Dim interntDLLNAVN as myDLL Set interntDLLNAVN = NEW myDLL
msgbox Beregn(1,3)
Set interntDLLNAVN = Nothing
End Sub
Resultatet skulle gerne blive 4 i en messagebox.
Med venlig hilsen
Janus Kamp Hansen Systemudvikler og webmaster EDB-Afdelingen Nordisk Solar A/S 6600 Vejen
Januskh! Kan du ikke også sende det til mig, på martin.molle@get2net.dk
Synes godt om
Ny brugerNybegynder
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.