DLL kald med fast længde streng
har fået en dll fra en leverandør som jeg skal kalde. Leverandøren specifikation er :Declare Function CopyThresholds Lib "HHK44.DLL" _
(ByVal I_Flags As Long, ByVal I_Typ As String, ByVal I_CC As Long, _
ByVal I_Ref As String, ByVal I_T0 As Double, ByVal I_FI As Long, _
ByVal I_OP As Long, ByVal I_CR As Single, ByVal I_Range As Long, _
ByRef O_OP As Long, ByRef O_TCmin As Double, ByRef O_TCmax As Double, _
ByVal O_Err As String, ByRef O_SzErr As Long) As Long
Buffer variable in calling program:
Dim O_Err As String * 20
Nu er dette tydeligvis ikke vb.net idet string * 20 ikke tillades, så jeg har ændret specifikationen af O_Err til
<VBFixedString(20)> Public O_Err As String
Men jeg får ved kald at vide at der er forsøgt at skrive eller læse i en beskyttet hukommelse. Det får mig til at tænke at der er noget galt med definitionen, enten af strengen (hvorfor er I_typ ikke også defineret med fast længde) eller i declare sætningen - der er der jo ikke angivet at strengen har fast længde..
Nogen forslag