vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
ByteArray an DLL übegeben funktioniert nicht. 
Autor: reflex
Datum: 11.02.11 10:26

Hallo alle miteinander!
Zur Zeit mache ich meine Bachelorarbeit in einem Unternehmen. Ich soll hier ein bisschen mit VB .net arbeiten. Ich bin eigentlich kein Programmierer. Habe vor Jahren ein bisschen mit C++ programmiert, aber nur Basics. Ich habe schon Hilfe, Suchfunktion durch und jeden hier auf der Arbeit gefragt, der das wissen könnte, leider ohne Erfolg.
Ich bin neu hier im Forum, daher verzeiht mir mein Unwissen

Es geht darum eine DLL Funktion aufzurufen, die in einem von mir erstellten ByteArray Werte schreibt. Ich übergebe das erste Feld als Ref.. DLL erwartet einen Zeiger. (aber das sehr ihr ja selbst )
Das gleiche Programm funktioniert in VB6 ohne Probleme!!!
Jedoch soll dies auch in vb .net laufen.

In einem späteren Schritt wird dann das mit Asciizeichen gefüllte ByteArray in einen String umgewandelt.(aber dazu kommt es ja erst gar nicht)

ich habe irgendwo was gelsen von marshalling oder so? könnte das mich hier weiterbringen?

Nach dem Aufruf der Funktion ist das Feld nicht mehr vorhanden. Wenn ich mit der Maus während der Laufzeit über Feld gehe, zeigt er mir "Length=0" an ... und keinen Wert.
Wenn ich bei VB6 dort eine überwachung hinzufüge, sind nach dem Aufruf noch alle Felder da und die ersten ca. 100 beschrieben mit dem richtigen Inhalt.

Ich bin ratlos ...
hier der Code:

 
Function ReadCommPure(ByRef ComHd As Short) As String
Dim RS232Receive(1024) As Byte
Dim RetBytes, retval As Integer
Dim ReadStr As String
retval = ReadFile(ComHd, RS232Receive(0), 1024, RetBytes, 0)
Und der DLL Aufruf
 
 Declare Function ReadFile Lib "kernel32" (ByVal hFile As Integer, ByRef _
   lpBuffer As Byte, ByVal nNumberOfBytesToRead As Integer, ByRef _
   lpNumberOfBytesRead As Integer, ByRef lpOverlapped As Integer) As Integer
Ich wäre echt extrem Dankbar, wenn jeman mir helfen könnte ( mein Chef übringends auch )
Also schon mal fetten Dank für alle Antworten und Überlegungen.

Gruß!
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ByteArray an DLL übegeben funktioniert nicht.2.684reflex11.02.11 10:26
Re: ByteArray an DLL übegeben funktioniert nicht.1.295ModeratorFZelle11.02.11 11:39
Re: ByteArray an DLL übegeben funktioniert nicht.1.162QQQ11.02.11 11:41
Re: ByteArray an DLL übegeben funktioniert nicht.1.250reflex11.02.11 12:05
Re: ByteArray an DLL übegeben funktioniert nicht.1.146ModeratorDaveS11.02.11 12:22
Re: ByteArray an DLL übegeben funktioniert nicht.1.145ModeratorDaveS11.02.11 12:05

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel