От 64 до Interop на 32 бита - как?

Проблема была вызвана тем, что я применил метод then к своему типу Result<T, E>. Это создало конфликт, когда я попытался вернуть тип из метода async, потому что TypeScript продолжал предполагать, что мой Result<T, E> был псевдо- Promise, и пытался развернуть его, вызвав .then().

У TypeScript обычно гораздо более понятная ошибка для ситуации такого типа:

TS1058 Тип возвращаемого значения асинхронной функции должен быть допустимым обещанием или не должен содержать вызываемый тогда член.

Но это становится намного более запутанным, когда метод принимает функцию в качестве аргумента, поскольку именно так выглядит сигнатура метода фактического Promise, и это становится еще более запутанным с задействованными обобщениями. [ 1110]

13
задан Tim Long 20 May 2009 в 14:28
поделиться

2 ответа

Лучшим подходом является создание внепроцессного COM-сервера, который обертывает вашу 32-битную DLL. Затем вы можете вызвать это из 64-битного кода.

Вот объяснение основных концепций.

8
ответ дан 2 December 2019 в 00:32
поделиться

What you need to do is create two processes communicating with IPC. This way, one can be 32 bit, and one can be 64 bit. You need to create a 32 program which links with the COM object and exposes its API through some IPC mechanism such as a named pipe. This way your .NET program can access it from another process.

3
ответ дан 2 December 2019 в 00:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: