Avatar billede ducpede Nybegynder
23. november 2005 - 17:48 Der er 4 kommentarer og
1 løsning

Kode fejler når jeg laver DLL fil

Jeg har følgende kode med 3 komponenter:
Public Function Hello()

Hello = "Hej Freak - Du er sørme skrap! Kl. er: " & Now()

End Function

Public Function Calc(a As Integer, b As Integer)

Calc = a + b

End Function


Public Function GetData()

Set Conn1 = CreateObject("ADODB.Connection")
DSN1 = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN1 = DSN1 & "DBQ=" & "D:\projekter\Synk_database\testdatabase1.mdb"
Conn1.Open DSN1

strSQL1 = "SELECT TableName from Sync"

Set objRec = Conn1.Execute(strSQL1)

Dim strTableNames(300)
Dim strTableNamesCounter
strTableNamesCounter = 0

If Not objRec.EOF Then
   
    'Henter Feltnavne
    For Each objField In objRec.Fields
 
    Next
   
    While Not objRec.EOF
     
      'Henter Data fra Sync tabellen
        For Each objField In objRec.Fields
            strTableNames(strTableNamesCounter) = objRec(objField.Name)
      GetData = GetData & strTableNames(strTableNamesCounter) & " - "
            strTableNamesCounter = strTableNamesCounter + 1
        Next
       
        objRec.MoveNext
       
    Wend

Conn1.Close
Set Conn1 = Nothing
End If


End Function
Når jeg kompileres det til en .dll fil, registrere dll filen og kalder det fra eks. VBA'en i Excel eller via en ASP side får jeg følgende fejl:

Server object, ASP 0178 (0x80070005)
The call to Server.CreateObject failed while checking permissions. Access is denied to this object.
/www/test/sync/DLLTest.asp, line 12

Hvis jeg anvender koden i et "normalt" vb projekt går det fint. Fjerner jeg den sidste function GetData, så kører det som det skal og jeg kan tilgå DLL filen fra enhver VBA.

Hvad går der galt?
Avatar billede sjh Nybegynder
23. november 2005 - 21:36 #1
Ja jeg tror ikke excel kan bruge Server.CreateObject() men prøv uden "Server." altså bare sådan:

Set objTest = CreateObject("Project1.Class1")
Avatar billede sjh Nybegynder
23. november 2005 - 21:38 #2
Det kunne også være "D:\projekter\Synk_database\testdatabase1.mdb" er du sikker på at din database ligger der??
Avatar billede sjh Nybegynder
23. november 2005 - 21:48 #3
har du testet om din funktion GetData() virker?? det kan jo være at der er en lille bog i den..

og så en anden ting.. smid -> Option Explicit <- i toppen og Dim alle dine variabler..

Dim strTableNames(300) As String
Dim strTableNamesCounter As Long ' osv..
Avatar billede ducpede Nybegynder
23. november 2005 - 22:53 #4
Tak for det. Det var Set objTest = Server.CreateObject("Project1.Class1"), der skule være uden Server.

Tak for hjælpen! Smid et svar så får du dine point :-)
Avatar billede sjh Nybegynder
23. november 2005 - 23:31 #5
svar :-)
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