Avatar billede Nybegynder
12. september 2004 - 09:37 Der er 18 kommentarer og
1 løsning

dll i mit program

Hvordan kan jeg bruge min dll-fil i mit programnår jeg har omcomplieret dll-filen, uden at omcompliere mit program
Avatar billede helmet Nybegynder
12. september 2004 - 10:18 #1
Jeg er ikke helt sikker på hvad du mener.
Men dit program har vel en reference til dll filen, så når du omcompileren der er det blot et spørgsmål om og genregistrere din dll fil i windows.
Altså
regsvr32 /u dindll.dll 'Vi afregisrerer første den gamle
regsvr32 dindll.dll 'Viregisrere den lige igen
Avatar billede sjh Nybegynder
12. september 2004 - 10:42 #2
du kan bare bruge:
    Set objClass = CreateObject("Project1.Class1")

Jeg har lavet det før..

  http://hjem.get2net.dk/sjh/eksperten/420992/MyDll.zip
  http://hjem.get2net.dk/sjh/eksperten/CallMyDll.zip
Avatar billede sjh Nybegynder
12. september 2004 - 10:44 #3
Avatar billede Nybegynder
12. september 2004 - 13:28 #4
Helmet det virker på en af de dll filer jeg har. den anden er indsat direket i vb miljøet og den kan jeg ikke få til at virke. Men den første dll-fil virker fint. Så hvis du har en løsning til det så vil jeg blive glad. Jeg ved godt dette her er lidt rodet men ved den ene dll-fil bruger jeg classer som bruger oprette typer.
Med Venlig Hilsen

Lars
Avatar billede Nybegynder
12. september 2004 - 13:29 #5
sjh: jeg ved godt noget om at bruge dll-filer så prøv igen -:)

Med Venlig Hilsen

Lars
Avatar billede sjh Nybegynder
13. september 2004 - 08:03 #6
dll-file i project (class i project)

' -> Project1
' ----------------- Form1 -----------------
Option Explicit

Private objClass1 As New Class1

Private Sub Form_Load()

  With objClass1
      .Test = "hej"
      MsgBox .Test
  End With

End Sub
' ----------------- Form1 -----------------

' -> Project1
' ----------------- Class1 -----------------
Option Explicit

Private m_strText As String

Public Property Get Test() As String
  Test = m_strText
End Property

Public Property Let Test(ByVal strText As String)
  m_strText = strText
End Property
' ----------------- Class1 -----------------
Avatar billede sjh Nybegynder
16. september 2004 - 10:52 #7
lcl-lars < har du fundet en løsing..
Avatar billede Nybegynder
16. september 2004 - 16:05 #8
Nej det har jeg ikke og det ex. sjh har lavet virker heller ikke. Jeg bliver nok nød til at omcompliere hver gang jeg ænder på min dll-fil.
Avatar billede sjh Nybegynder
16. september 2004 - 16:13 #9
Ja ellers skal du lave dit class module separat, og bruge:

Set objClass = CreateObject("Project1.Class1")
Avatar billede Nybegynder
17. september 2004 - 12:04 #10
Ja det virker fint hvis man ikke bruger de classer som typer.
Avatar billede sjh Nybegynder
17. september 2004 - 12:15 #11
hvad er det for nogle typer du mener??
Avatar billede Nybegynder
17. september 2004 - 22:14 #12
Jeg mener Private Socket as clsSocket.
Avatar billede sjh Nybegynder
18. september 2004 - 01:01 #13
så kan du bare lave den Public

Public Socket As clsSocket
Avatar billede sion Nybegynder
25. september 2004 - 15:00 #14
sjh, det er en dårlig idé at bruge CreateObject til at lave referencer til eksterne klasser med. Hvis referencen oprettes på denne måde er den "late-bound", og alle kald til klasserne vil være cirka 3500% langsommere end hvis man bruger "early-bound", altså benytter en direkte reference.

lars, jeg vil tro at du skal finde løsningen i kompileringsindstillingerne for din dll-fil. Du kan vælge at angive kombiliteten som ingen, binær eller projekt-baseret. Jeg er ikke sikker på hvilken af dem det er, men een af dem gør sådan at programmer der allerede refererer til dll'en ikke behøver at bliver kompileret igen SÅFREMT at dll'ens interface ikke ændrer sig.
Avatar billede Nybegynder
25. september 2004 - 17:03 #15
Hej sion. Jeg tror ikke jeg forstå dig helt men mit problem var når mit hovede program bruger en dll-fil der er omcompileret så skal det også omcompileret.

sjh. Jeg bruger det også i overførelse til functioner. (public sub test(obj as clsSocket). Det var mit problem med dette. Jeg skal nok lave om på hele min struktur af mit hovede program.

Med Venilg Hilsen

Lars
Avatar billede Nybegynder
10. oktober 2004 - 20:49 #16
Hej nu lukker jeg dette spørgsmål hvis der ikke er nogle der kan komme med et svar jeg kan bruge.
Avatar billede sjh Nybegynder
10. oktober 2004 - 21:28 #17
måske var det en ide at du lavede -> obj as clsSocket om til -> obj as object
så kunne det være det virked.. når du bruger CreateObject kan programmet jo ikke vide hvad "clsSocket" er.. ;)
Avatar billede Nybegynder
11. oktober 2004 - 11:22 #18
Ja det vil jeg prøve. Du får de points. Tak for hjælpen

Med Venlig Hilsen

Lars
Avatar billede sjh Nybegynder
11. oktober 2004 - 12:34 #19
ja det må næsten være der problemet ligger.. tak for point.. håber du for det til at virke. :-)
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