27. november 2003 - 12:18Der er
37 kommentarer og 2 løsninger
kompilering af xx.vb til xx.dll
Hejsa
Hukommelsen er ikke hvad den har været, så er der ikke en af jer der kan give mig syntaxen til vbc.exe kompileriren, når man vil kompiler en .vb til .dll ??
Du mangler sikkert at inkludere nogle DLL'er. Næste gang så må du gerne sige lige mere end "Det gik ikke pissegodt". Compileren fortæller faktisk hvad der er galt, så hvis vi skal hjælpe dig, må du gerne hjælpe os lidt.
Klart ... Men jeg ville jo bare have en syntakt til kommandoen ... ikke en gennemagang af min kildekode!
Jeg har netop udkommenteret så godt som alt i koden. Compileren skriver nu en eller anden fejlkode, med 'Sub Main' not found ... Det er korrekt, at der ikke er sådan en, men det er så vidt jeg ved heller ikke nødvendigt ...
Skal måske lige nævnes at jeg kompiler i en mappe der hedder inetpub\wwwroot\bin ... Denne mappe har jeg dog lavet selv, så er ikke helt sikker på at .NET installationen måske har styr på dette ..... Nogen ideer?
Det ser meget bedre ud nu!! - Den compiler fint ... Jeg har så prøvet at tilføje lidt kode:
Det ser meget bedre ud nu!! - Den compiler fint ... Jeg har så prøvet at tilføje lidt kode:
' Databasehandler.vb
Imports System Imports System.Data Imports System.Data.SQLClient
Namespace DatabaseHandler
Public Class DatabaseHandler
private objConn As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source="database.mdb") private objCommand as SQLCommand private dataReader as sqlDataReader private sqlString as String
public function getDB() as String
bla bla bla
end function End Class End Namespace
Den er dog ikke så glad for: private objConn As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source="database.mdb")
Er koden ikke OK ??
(Ved godt at spørgsmålet er ved at skifte lidt karakter, men håber i stadig kan hjælpe!!)
Nop .. det hjalp ikke synderligt ... Så vidt jeg husker (er som sagt lang tid siden jeg sidst har rodet med dette), så er begge kommandoer brugbare. Det jeg har skrevet skulle bare være en forkortelse af ovenstående....
Kunne det tænkes at jeg mangler at importere noget??
Jeg vil nu også mene at arne_v har ret. Du erklærer først en variabel og angiver en type, og derefter instantierer du den med New. Men problemet er jo først at du forsøger at lave en OleDb connection, men det er SqlClient du importerer. Enten skal det være "Imports System.Data.OleDb" eller også skal det være private objConn As SqlConnection = New SqlConnection("provider=microsoft.jet.oledb.4.0;data source="database.mdb")
Lyder fornuftigt ... Har nu ændret min kode til følgende:
Imports System Imports System.Data Imports System.Data.OleDb
Namespace DatabaseHandler
Public Class DatabaseHandler
private objConn As OleDbConnection = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=database.mdb")
private objCommand as OleDbCommand private dataReader as OleDbDataReader private sqlString as String public function getDB() as String
bla bla bal
end function End Class End Namespace
Får nu fejl ved ("provider=microsoft.jet.oledb.4.0;data source=database.mdb").. Som om den ikke er så gald for sourcen. Dette til trods at databasen som sagt ligger i samme bibliotek som VB'en ..
Det er flintrende ligegyldigt hvor databasen ligger når du compiler. Det er først når du kører koden at du får et problem dér. Er der linjeskift før parantesen eller er det Eksperten der ombryder?
W:\Inetpub\wwwroot\bin>vbc.exe /t:library /r:System.Data.dll /debug+ /optionstri ct+ /out:.\Databasehandler.dll Databasehandler.vb Microsoft (R) Visual Basic .NET Compiler version 7.00.9466 for Microsoft (R) .NET Framework version 1.01.4322.573 Copyright (C) Microsoft Corporation 1987-2001. All rights reserved.
W:\Inetpub\wwwroot\bin\Databasehandler.vb(13) : error BC30007: Reference require d to assembly 'System' containing the base class 'System.ComponentModel.Componen t'. Add one to your project.
private objConn As OleDbConnection New OleDbConnection("provider=microsoft. jet.oledb.4.0;data source=database.mdb") ~~~~~~~~~~~~~~~
W:\Inetpub\wwwroot\bin\Databasehandler.vb(13) : error BC30205: End of statement expected.
private objConn As OleDbConnection New OleDbConnection("provider=microsoft. jet.oledb.4.0;data source=database.mdb") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ W:\Inetpub\wwwroot\bin\Databasehandler.vb(15) : error BC30007: Reference require d to assembly 'System' containing the base class 'System.ComponentModel.Componen t'. Add one to your project.
W:\Inetpub\wwwroot\bin\Databasehandler.vb(13) : error BC30205: End of statement expected.
private objConn As OleDbConnection New OleDbConnection("Provider=Microsoft. Jet.OLEDB.4.0; Data Source=w:\inetpub\wwwroot\bin\Database.mdb") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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.