我正在尝试接收DICOM文件并将其保存在内存中。我使用的库(RZDCX)允许通过设置app.EnableInMemoryStorageSCP
为true:
DCXAPP app = new DCXAPP();
acc.OnStoreSetup += new IDCXACCEvents_OnStoreSetupEventHandler(OnStoreSetupEventHandler);
private void OnStoreSetupEventHandler(ref string filename)
{
app.EnableInMemoryStorageSCP = true;
}
这是当我遇到麻烦的文档(在这里找到)说EnableInMemoryStorageSCP必须为真,事件acc.OnStoreSetup
返回一个空或零长度值。然而,如果我改变事件,似乎无论返回类型的OnStoreEventHandler(ref string filename)
有错误的返回类型。
是否有一种方法可以避免此错误并返回空值?
注:我认为这可能意味着设置filename
null或零长度,但如果为空,它继续保存为常规和零长度字符串,它会卡住试图存储文件。
A正确的做法是:
// When your program starts
DCXAPP app = new DCXAPP();
app.EnableInMemoryStorageSCP = true;
//...
private void OnStoreSetupEventHandler(ref string filename)
{
filename = null;
}
// ..
// and inside OnStoreDoneEventHandler(string filename, bool status ref bool accept)
{
DCXOBJ obj = accepter.TakeStoredObject();
// ... do stuff with it
}