Hallo Liste,

 

ich habe ein dickes Problem. Ich muss eine (mehrere) Anwendung(en) in VB.NET schreiben, die eine DLL zum Zugriff auf eine spezielle Btrieve Datenbank benutzt. Es gibt keinen anderen Weg, als diese DLL zu benutzen.

 

In dieser DLL sind mehrere Funktionen enthalten, die ich fr�her unter VB6 mir „gef�llten“ Stringvariablen als Parameter aufgerufen habe.

 

Beispiel:

 

Declare Function MxDBGetField Lib "mxdbapi.dll" (ByVal TableNr As Integer, ByVal FieldNr As Integer, ByVal dest As String) As Integer

 

 

Function MX_GetField(TableNumber As Integer, FieldNumber As Integer) As String

��� Dim strValue As String * 2000

��� Status = MxDBGetField(TableNumber, FieldNumber, strValue)

��� If Status <> 0 Then

������� MsgBox "Function GetField failed"

������� End

��� End If

��� MX_GetField = Left$(strValue, InStr(strValue, Chr$(0)) - 1)

End Function

 

Nun habe ich das Problem, dass die M�glichkeit der Deklaration �„Dim strValue As String * 2000“ nicht mehr vorhanden ist. Es gibt zwar eine gewisse Kompatibilit�t via VB6.FixedLengthString(2000), dies hat aber den Nachteil, dass ich nicht wei� was ich beim Installieren des Programms auf einem anderen Rechner alles (au�er .NET Framework nat�rlich) mit installieren muss. Und ich m�chte eigentlich bei einem neuen Programm keine Kompromisse zur Abw�rtskompatibilit�t eingehen.

 

 

Hat jemand eine Idee, wie ich das Ganze realisieren kann?

 

Viele Gr��e

 

Gerhard

 

PS: Frohe Weihnachten an alle J

 

 

Odpovedet emailem