Я пытаюсь интегрировать DCMTK 3.6.4 (библиотеку C ++) в среду C #.Хотя я успешно обернул DLL
, для этого я взял код для dcmsend, обернул его в 'extern "C" {}', поместил _declspec (dllexport) 'перед основным методоми экспортировал его в DLL.Затем я вызываю эту DLL из C # с помощью этого кода.
Вот DLLImport:
[DllImport("dcmsend.dll", CharSet = CharSet.Ansi,
CallingConvention = CallingConvention.StdCall, EntryPoint = "main")]
public static extern int dcmsendMain(int argc, string[] argv);
Я вызываю метод следующим образом;IP, порт и имя файла являются строками, и все они действительны.
dcmsendMain(5, new string[] { "dcmsend", "-v", ip, port, filename });
Когда я вызываю вышеуказанный метод только один раз, он выводит следующий текст:
I: checking input files ...
I: starting association #1
I: initializing network ...
I: negotiating network association ...
I: Requesting Association
I: Association Accepted (Max Send PDV: 16372)
I: sending SOP instances ...
W: DcmItem: Length of element (7fe0,0010) is not a multiple of 2 (VR=OW)
I: Sending C-STORE Request (MsgID 1, SC)
I: Received C-STORE Response (Success)
I: Releasing Association
I:
I: Status Summary
I: --------------
I: Number of associations : 1
I: Number of pres. contexts : 1
I: Number of SOP instances : 1
I: - sent to the peer : 1
I: * with status SUCCESS : 1
Однако все последующие временачто метод вызывается в том же сеансе, даже если имена файлов различаются, выведите следующие выходные данные:
W: no data dictionary loaded, check environment variable: DCMDICTPATH
I: checking input files ...
I: starting association #1
I: initializing network ...
I: negotiating network association ...
I: Requesting Association
I: Association Accepted (Max Send PDV: 16372)
I: sending SOP instances ...
W: DcmItem: Length of element (7fe0,0010) is not a multiple of 2 (VR=OW)
E: DcmSequenceOfItems: Parse error in sequence (7fe0,0010), found (fffe,e000) instead of sequence delimiter (fffe,e0dd)
E: cannot send SOP instance from file: IM-0001-0000.dcm: Sequence Delimitation Item missing
F: cannot send SOP instance: Sequence Delimitation Item missing
I: Aborting Association
В качестве состояния вывода последующие операции также не отправляются должным образом.
Как мне решить эту проблему?