Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Eigene DLL erstellen und einbinden

Frage Entwicklung Visual Studio

Mitglied: visualbasic

visualbasic (Level 1) - Jetzt verbinden

11.10.2012 um 17:44 Uhr, 7847 Aufrufe, 18 Kommentare

Hallo,
ich habe eine DLL erstellt mit folgendem Inhalt
01.
Public Class Class1 
02.
    Public Shared Function CODE_test(ByVal CODE As String) As Boolean 
03.
        Dim Result As Boolean = False 
04.
        CODE = CODE.Replace(" ", "") 
05.
        If CODE.Length > 0 Then 
06.
            Dim Digits As Integer = CODE.Length 
07.
            Dim parity As Integer = Digits Mod 2 
08.
            Dim sum As Integer = 0 
09.
            For i As Integer = 0 To Digits - 1 
10.
                Dim digit As Integer = Val(CODE.Substring(i, 1)) 
11.
                If i Mod 2 = parity Then digit *= 2 
12.
                If digit > 9 Then digit -= 9 
13.
                sum += digit 
14.
            Next 
15.
            Result = ((sum Mod 10) = 0) 
16.
        End If 
17.
        Return Result 
18.
    End Function 
19.
End Class
Jetzt würde ich gerne in einem anderen Projekt diese DLL einbinden.
Ich habe es versucht mit
01.
Private Declare Function CODE_test Lib "ClassLibrary1.dll" (ByVal CODE As String) As Boolean
Geht aber nicht, denn
Der Einsprungspunkt "Code_test" wurde nicht in der DLL gefunden
Was mache ich falsch??
Vielen Dank für eure Antworten!

Chris
Mitglied: hpbruns
11.10.2012 um 19:11 Uhr
Hallo Chris

Ich vermute mal folgendes:
DLL erstellt und kompiliert mit Visual Studio > 6.0
Neues Projekt ebenfalls mit VS > 6.0

Dann musst Du in den Verweisen Deines neuen Projektes die DLL natürlich auch hinzufügen.

Danach kannst Du mit ...

01.
  
02.
Imports ClassLibrary1 
03.
04.
05.
06.
 
07.
Private TestClass As New Class1 
08.
 
09.
Return = TestClass.CODE_Test(xyz) 
10.
 
arbeiten (sehr vereinfacht dargestellt)

Gruß

HaPe
Bitte warten ..
Mitglied: visualbasic
12.10.2012, aktualisiert um 06:46 Uhr
Zitat von hpbruns:
(sehr vereinfacht dargestellt)

Danke, leider kenne ich mich nicht so gut aus;
Die DLL und das Projekt wurden Beide mit Microsoft Visual Studio 2010 Express gemacht.
Es heißt, der Einsprungspunkt wurde nicht gefunden.

Oder muss ich vielleicht an dem
01.
Private Declare Function CODE_test Lib "ClassLibrary1.dll" (ByVal CODE As String) As Boolean
etwas ändern ?

Gruß
Bitte warten ..
Mitglied: MrTrebron
12.10.2012 um 08:16 Uhr
Servus

Zitat von visualbasic:
Danke, leider kenne ich mich nicht so gut aus;

Und genau deshalb solltest du dich nicht nicht darum kümmern DLLs zu erstellen und irgendwo einzubinden, sondern von Grund auf Programmieren zu lernen.

Wenn ich mich recht entsinne wurde dir schon mehr als genug Literatur empfohlen.

Gruß
Norbert

PS: kommt mir nicht mit deinem "Ich bin erst 14...." gelaber. Wenn man in dem Alter ist das sollte man es direkt richtig anfangen.
Bitte warten ..
Mitglied: MonoTone
12.10.2012 um 08:58 Uhr
01.
Private Declare Function CODE_test Lib "ClassLibrary1.dll" (ByVal CODE As String) As Boolean
So bindet man keine .NET dll's ein, sondern native.
Zum Einbinden deiner .NET dll musst du über Projekt->Verweis hinzufügen und dort deine dll suchen und auswählen.
Ansonsten kann ich mich MrTrebron nur anschliessen..
Bitte warten ..
Mitglied: visualbasic
12.10.2012 um 14:16 Uhr
Zitat von MonoTone:
01.
Private Declare Function CODE_test Lib "ClassLibrary1.dll" (ByVal CODE As String) As Boolean
So bindet man keine .NET dll's ein, sondern native.
ach so

Zum Einbinden deiner .NET dll musst du über Projekt->Verweis hinzufügen und dort deine dll suchen und
auswählen.
Das weiß ich
Und wie spreche ich die dann an?

Chris
Bitte warten ..
Mitglied: MonoTone
12.10.2012 um 14:42 Uhr
Das weisst du?
Offensichtlich ja nicht.

Du sprichst diese über den entsprechenden Namespace und Klassennamen an..
Schreib einfach in deiner KLasse mal oben Imports
Dort sollte der Namespace (welcher meist gleich dem Namen der dll ist) dann via Intellisense erscheinen.
Bitte warten ..
Mitglied: visualbasic
12.10.2012 um 14:45 Uhr
Zitat von MonoTone:
Das weisst du?
Offensichtlich ja nicht.

Du sprichst diese über den entsprechenden Namespace und Klassennamen an..
Schreib einfach in deiner KLasse mal oben Imports
01.
Imports ClassLibrary1.dll
?
Bitte warten ..
Mitglied: MonoTone
12.10.2012 um 14:54 Uhr
Funktioniert bei dir im Visual Studio Intellisense (die Autovervollständigung) nicht?
Bitte warten ..
Mitglied: visualbasic
12.10.2012 um 14:56 Uhr
Zitat von MonoTone:
Funktioniert bei dir im Visual Studio Intellisense (die Autovervollständigung) nicht?
Doch, ich kanns bloß gerade nicht aufmachen, weil ich nicht vor meinem eigenen PC bin...
Bitte warten ..
Mitglied: MonoTone
12.10.2012 um 14:57 Uhr
Dann probiere es, wenn du es kannst. ;)
Bitte warten ..
Mitglied: visualbasic
12.10.2012 um 15:02 Uhr
Zitat von MonoTone:
Dann probiere es, wenn du es kannst. ;)
Habs jetzt mit TeamViewer gemacht. Ja bei Imports geht die Vervollständigung
Bitte warten ..
Mitglied: visualbasic
12.10.2012 um 15:04 Uhr
Zitat von visualbasic:
> Zitat von MonoTone:
> ----
> Dann probiere es, wenn du es kannst. ;)
Habs jetzt mit TeamViewer gemacht. Ja bei Imports geht die Vervollständigung

Danke @MonoTone
Durch meinen gesunden Menschenverstand und deiner Hilfe bin ich jetzt zu folgendem Ergebnis gekommen:
01.
Imports ClassLibrary1 
02.
 
03.
Public Class Class1 
04.
 
05.
    Private Sub Button1_Click() Handles Button1.Click 
06.
 
07.
        If ClassLibrary1.Class1.CODE_test(TextBox1.Text) = True Then 
08.
            MsgBox("ok") 
09.
        Else 
10.
            MsgBox("ungültig") 
11.
        End If 
12.
    End Sub 
13.
End Class
Bitte warten ..
Mitglied: MonoTone
12.10.2012 um 15:23 Uhr
Wenn du den Namespace ClassLibrary1 importierst, brauchst du diesen eigentlich nicht mehr explizit mit anzugeben bei If ClassLibrary1.Class1

So kannst du auch ohne Imports arbeiten.
Das Imports verkürzt dir lediglich die Schreiberei in VB.
Du kannst dann schreiben If Class1.Code .. bla
Bitte warten ..
Mitglied: visualbasic
12.10.2012 um 15:34 Uhr
Zitat von MonoTone:
Wenn du den Namespace ClassLibrary1 importierst, brauchst du diesen eigentlich nicht mehr explizit mit anzugeben bei If
ClassLibrary1.Class1

So kannst du auch ohne Imports arbeiten.
Das Imports verkürzt dir lediglich die Schreiberei in VB.
Du kannst dann schreiben If Class1.Code .. bla

Danke!
Und wenn ich ganz oft
01.
My.Computer.FileSystem
brauch, wie kann ich mir das sparen mit Imports?

Gruß
Bitte warten ..
Mitglied: MonoTone
12.10.2012 um 15:37 Uhr
Ja...probiere es doch einfach aus Junge!
Bitte warten ..
Mitglied: visualbasic
12.10.2012 um 15:58 Uhr
Zitat von MonoTone:
Ja...probiere es doch einfach aus Junge!
Hab ich schon; ich finds nicht
Bitte warten ..
Mitglied: MonoTone
12.10.2012 um 16:02 Uhr
Verwende den My Namespace nicht.
Nimm System.File.Io
Bitte warten ..
Mitglied: visualbasic
12.10.2012 um 16:05 Uhr
Zitat von MonoTone:
Verwende den My Namespace nicht.
Nimm System.File.Io
Aber dann habe ich zum Beispiel bei
01.
WriteAllText
den APPEND-Parameter nicht
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Netzwerkgrundlagen
IPsec - .conf und .secret erstellen aus Gruppe und User (16)

Frage von MaxMLe zum Thema Netzwerkgrundlagen ...

Windows Netzwerk
USB-Gerät ins Netzwerk (Domäne) einbinden (4)

Frage von griss0r zum Thema Windows Netzwerk ...

RedHat, CentOS, Fedora
gelöst Erstellen von Desktopverknüpfungen und Anpassung der Taskleiste (2)

Frage von honeybee zum Thema RedHat, CentOS, Fedora ...

Vmware
ESXI Template erstellen (2)

Frage von Phill93 zum Thema Vmware ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...