Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB.NET: dll teko vb.net standard versio

tnb [15.02.2004 21:54:01]

#

VB.net standard versiossa ei näyttäisi olevan mahdollista tehdä .dll projektia eli dynaamisesti linkattavaa kirjastoa. Netissä näkyy olevan kuitenkin ohjeita tämän esteen kiertämiseksi:
1) Avaa tavallinen exe projekti
2) Poista form1
3) Lisää class moduli (esim MyClassName)ja laita siihen koodisi
4) Talleta ja poistu
5) Avaa notepad ja avaa projektistasi tiedosto .vbproj
alku näyttää tältä

<VisualStudioProject>
    <VisualBasic
        ProjectType = "Local"
        ProductVersion = "7.10.3077"
        SchemaVersion = "2.0"

6) Etsi pari riviä ja muuta ne seuraavaksi:
OutputType = "Library"
StartupObject = ""
eli muutit projektin tyypin WinEXE:stä Libraryyn ja positit viitteen form1:een aloitusformina.
7) Save ja Build project, dll tiedosto ilmestyy bin halemistoon
(8) Sulje dll projektisi
9) Tee testiprojekti (Exe) jossa kokeilet kirjastoasi
10) Lisää referennsi :Project/add reference/Browse ja selaa edellä tehtyyn dll tiedostoon, OK
11) Tee Imports-lauseke ohjelmasi alkuu osoittamaan dll kirjastosi nimeä (ilman .dll)
12) Jos MyClassName:ssä määritelty funktio (esim MyFunction) oli muotoa Public Shared niin sitä käytetään näin: a = MyClassName.MyFunction(parametri)
13) Jos funktio ei ole shared, täytyy ensin tehdä ilmentymä ja käyttää sitä:
Dim MyObject as New MyClassName
a = myObject.MyFunction(parametrit)

''' Esimerkki Shared funktion käytöstä, soittaa wav ääntä
Imports Soittaja 'Soittaja.dll
Public Class Form1
    Inherits System.Windows.Forms.Form
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        clsSoittaja.PlayWAV("done.wav")
    End Sub
End Class

tnb [15.02.2004 22:30:46]

#

Ja se WAV soitto ohjelma:
'http://www.devx.com/vb2themax/Tip/19545

Meitzi [07.03.2004 14:08:26]

#

lainaus:

VB.net standard versiossa ei näyttäisi olevan mahdollista tehdä .dll projektia eli dynaamisesti linkattavaa kirjastoa. Netissä näkyy olevan kuitenkin ohjeita tämän esteen kiertämiseksi:

Ei niin koska Microsoft on ottanut opikseen ja haluaa välttyä siltä DLL helvetiltä mitä se on ollut.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta