Hallo,
nun wollte ich eine neue funktion einbinden. Aber leider gibt es ein Problem. Die Einzubindende Funktion erwartet ein Zeichen und gibt die entsprechenden Braillepunkte zurück. Hier erstmal die Funktion aus der DLL:
int lou_dotsToChar (
const char *tableList,
const widechar *inbuf,
widechar *outbuf,
int length,
int mode)
Und hier die eingebundene Funktion in meinem Programm:
Der Funktionsaufruf sieht folgendermaßen aus:
Es gibt zwar keine Fehlermeldung, aber ich bekomme kein Ergebnis. Außerdem wird folgende Meldung angezeigt:
Warnung BC42353 Die Funktion "lou_dotsToChar" gibt nicht für alle Codepfade einen Wert zurück. Fehlt eine Return-Anweisung?
Kann mir da Jemand bitte helfen?
Danke!
nun wollte ich eine neue funktion einbinden. Aber leider gibt es ein Problem. Die Einzubindende Funktion erwartet ein Zeichen und gibt die entsprechenden Braillepunkte zurück. Hier erstmal die Funktion aus der DLL:
int lou_dotsToChar (
const char *tableList,
const widechar *inbuf,
widechar *outbuf,
int length,
int mode)
Und hier die eingebundene Funktion in meinem Programm:
VB.NET-Quellcode
- Imports System.Runtime.InteropServices
- Imports System.Text
- Class LibLouis
- Public Shared Function DotsToChar(input As String) As String
- If String.IsNullOrEmpty(input) Then
- Throw New ArgumentNullException("input")
- End If
- Dim refLength As Int32 = input.Length + 32 ' size heuristic
- Dim buffer As New StringBuilder(refLength)
- NativeMethods.lou_dotsToChar("Braille\Brailletabellen\de-de-g2.ctb", input, buffer, refLength, 0)
- buffer.Length = refLength
- Return buffer.ToString()
- End Function
- End Class
- Class NativeMethods
- <DllImport("liblouis.dll", BestFitMapping:=False, ThrowOnUnmappableChar:=True, CharSet:=CharSet.Unicode)>
- Public Shared Function lou_dotsToChar(
- <MarshalAs(UnmanagedType.LPStr)> tableList As String,
- <MarshalAs(UnmanagedType.LPWStr)> inbuf As String,
- <MarshalAs(UnmanagedType.LPWStr), Out()> outbuf As StringBuilder,
- length As Int32,
- mode As Int32) As Int32
- End Function
- end class
Der Funktionsaufruf sieht folgendermaßen aus:
Es gibt zwar keine Fehlermeldung, aber ich bekomme kein Ergebnis. Außerdem wird folgende Meldung angezeigt:
Warnung BC42353 Die Funktion "lou_dotsToChar" gibt nicht für alle Codepfade einen Wert zurück. Fehlt eine Return-Anweisung?
Kann mir da Jemand bitte helfen?
Danke!