Передача сложной информации через COM в C # из кода Delphi

2

По различным причинам, таким как защита инвестиций и т.д. Мне нужно передать ряд сложных записей (множество полей и записей) взад и вперед между Delphi и программой С#. Я предполагаю, что я должен использовать IEnumVariant, но, похоже, не умею его проектировать с помощью конструктора typelibrary.

Любая помощь будет оценена.

Спасибо

Обновление

Я предполагаю, что то, что я пытаюсь спросить, требует некоторого объяснения сложности данных.

Мне нужно экспортировать на С# (или на любой другой язык) через COM коллекцию "записей", каждая из которых состоит из набора "полей", каждая из которых состоит из нескольких атрибутов.

Итак, это коллекция коллекций коллекции! Не спрашивайте меня, как мы сюда попали. У нас только есть.

Итак, у меня есть Attribute → Field → Record sort of structure. Я понимаю, что мне нужно экспортировать (я не могу размещать какие-либо подробности здесь по причинам компании), но не знаю, как начать экспортировать эти данные в COM.

Вероятно, я должен начать с создания тестовой программы с нуля, которая будет имитировать структуры, в которых я нуждаюсь, а затем постепенно объединять их и видеть, куда я могу добраться.

Теги:
com

2 ответа

1
Лучший ответ

Я собираюсь ответить на свой вопрос!

Я создал серию классов, которые были перенесены из IEnumVARIANT, представляя различные коллекции битов данных, списка и записи. Каждое поле было простым определением интерфейса COM.

Я использовал примеры из это местоположение, так как я реализую коллекции полей/записей/etc как TList.

2

Инкапсулировать информацию в классах. Хорошо работает на любом языке, хорошо работает и в COM.

  • 0
    За исключением C # ничего не знает о классах Delphi, и наоборот. Вы не ответили на вопрос ОП вообще - вопрос был «как передать сложную информацию через COM между C # и кодом Delphi?». Сказать «использовать классы» не помогает.
  • 2
    Оно делает. Все остальное проблематично. COM плохо поддерживает структуры, потому что их компоновка зависит от компилятора. Сопоставление класса не является проблемой, свойства и методы сопоставляются с интерфейсом COM. Это клей, который встроен в .NET и Delphi.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню