En lugar de usar directamente el diálogo, sería mejor que usaras el servicio de selección de la UI, que se encarga de llamar al diálogo y darte el resultado. Por ejemplo, para seleccionar un objeto:
SelectObjectOptions options = new SelectObjectOptions();
options.MultipleSelection = false;
KBObject kbObject = UIServices.SelectObjectDialog.SelectObject(options);
if (kbObject != null)
{
...
}
O para seleccionar varios podrías usar:
options.MultipleSelection = true;
foreach (KBObject kbObject in UIServices.SelectObjectDialog.SelectObjects(options))
{
...
}
Para filtrar por tipo de objeto
//Se pueden seleccionar solo los SDT
selectObjectOption.ObjectTypes.Add(KBObjectDescriptor.Get<SDT>());
foreach (KBObject kBObject in UIServices.SelectObjectDialog.SelectObjects(selectObjectOption))
{
...
}