В настоящее время у меня есть функциональный код, который создает и изменяет объекты Nuance PDF, содержащиеся в Hashtable, где hashkey - выходной поток (строковое значение).К сожалению, когда каждый PDF-файл получает более 10 МБ или около того, слияние дополнительных PDF-файлов замедляет выполнение программы.
Я хотел бы добавить измерение в мою Hashtable, используя дополнительный целочисленный индекс, чтобы я мог простооткрывайте новый PDF-файл всякий раз, когда количество объединенных документов превышает значение из моего файла конфигурации.
Когда я инициализирую вложенный Hashtable, сначала все выглядит нормально.Я могу назначить ему объекты Nuance PDF.Однако, когда я пытаюсь получить доступ к одному из элементов PDF, TryCast не удается (ничего не возвращает).
Вот как я настроил первый экземпляр OutStream1 (OutStream1 - просто жестко заданный пример для упрощения - фактические выходные потоки считываются из файла конфигурации).
Моя цель - продолжать добавлять новые объекты PDF во внутренний Hashtable по мере необходимости при достижении порогового значения.
Dim pdfOutput As Hashtable = New Hashtable
Dim outTemp As Hashtable = New Hashtable
outTemp(0) = CreateObject("NuancePDF.DDDoc")
pdfOutput("OutStream1") = outTemp(0)
Когда все готово для манипулирования объектом PDF, назначение pdMrgDoc завершается неудачно.Без использования TryCast появляется сообщение об ошибке:
Невозможно привести объект COM типа 'System .__ ComObject' к типу класса 'System.Collections.Hashtable'.Экземпляры типов, которые представляют компоненты COM, не могут быть преобразованы в типы, которые не представляют компоненты COM;однако их можно приводить к интерфейсам, если базовый компонент COM поддерживает вызовы QueryInterface для IID интерфейса.
Dim pdMrgStream As Hashtable = pdfOutput("OutStream1")
Dim pdMrgDoc As New Object
pdMrgDoc = pdMrgStream(0)
Я не уверен, что означает это сообщение об ошибке.Есть ли способ, которым я могу сделать это?