StringBuilder codeline = new StringBuilder(100);
protected virtual int OnCodeLine(int code, int docId, ref StringBuilder codeline)
{
////
}
Это то, что я получаю с * ref StringBuilder *
ĞÑĞÒĞÓĞÔĞÕĞÖĞ × ĞØĞÙĞÚĞÛĞÜĞİĞŞĞßĞàĞáĞâĞãĞäĞåĞæĞçĞèĞéĞêĞëĞìĞíĞîĞïĞğĞñĞòĞóĞôĞõĞöĞ ÷ ĞøĞùĞúĞûĞüĞıĞşĞÿĞÑÑÑÑÑÑ
NNN
ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ
и только с StringBuilder я получаю только 3
Это то, что предполагается вернуть
300 078 9059431
Кстати это код MICR из чеков
[DllImport("mflib.dll")]
public static extern int mfScanFeeder(int mode, int font, int timeout);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate int MFS100_CodeLineDelegate(int code, int docId, ref StringBuilder codeline);
public event MFS100_CodeLineDelegate MFS100_CodeLine;
private static MFS100_CodeLineDelegate cache_CodeLine;
Обновление: вот оригинальный код, который работает в vb6
Public Function MFS100_OnCodeline(ByVal code As Long, ByVal docId As Long, ByVal codeline As String) As Long
Dim i As Integer
WriteEvent "OnCodeline:"
WriteEvent " code = " & code
WriteEvent " docId = " & docId
WriteEvent " codeline = " & codeline
MFS100_OnCodeline = -1 ' -1 means: sorting will be done by mfSort()
g_codeline = codeline
CScannerForm.TmrSort.enabled = True
End Function
Обновление 2
mfSetEvent((int)EventEnum.E_EVENT_CODELINE, cache_CodeLine);
[DllImport("mflib.dll")]
private static extern int mfSetEvent(int eventID, Delegate callsback);
Когда я использую StringBuilder с ref, я получаю строку, которая имеет
Длина 32361 Без ссылки я получаю
только первое значение
строка.
OnCodeLine для обратного вызова
со сканера устройства. Что
проблема?