Действительно ли возможно, что C# имеет проблемы при вызове методов VB6, которые имеют дополнительные параметры?

Если у Вас есть 32-разрядные аппаратные средства, нет, Вы не можете выполнить 64-разрядного гостя ОС. "программное обеспечение VMware не эмулирует систему команд для различных аппаратных средств, не физически существующих" .

Однако QEMU может эмулировать 64-разрядный процессор, таким образом, Вы могли преобразовать машину VMware и выполнить ее с этим

От это сообщение в блоге с 2008 эрами (зеркально отраженный archive.org) :

$ cd /path/to/vmware/guestos
$ for i in \`ls *[0-9].vmdk\`; do qemu-img convert -f vmdk $i -O raw {i/vmdk/raw};done
$ cat *.raw >> guestos.img

Для выполнения его,

qemu -m 256 -hda guestos.img

оборотная сторона? Большинство из нас выполняет VMware без пространства перед выделением для виртуального диска. Так, когда мы сделаем преобразование от VMware до QEMU, необработанный файл будет общим пространством С предварительным выделением. Я все еще тестирую с -f qcow, формат будет он решать проблему или нет. Такой как:

for i in `ls *[0-9].vmdk`; do qemu-img convert -f vmdk $i -O qcow ${i/vmdk/qcow}; done && cat *.qcow >> debian.img

6
задан VividD 25 November 2014 в 17:02
поделиться

1 ответ

В настоящее время в C # действительно возникают проблемы с вызовом функций VB6 с необязательными параметрами. Я очень сильно боролся с этим в проекте, где мне абсолютно необходимо было использовать компонент VB6, предоставляемый внешним поставщиком.

Я обнаружил, что самым простым решением было создание класса в VB для вызова этих функций, поскольку VB.Net ДЕЙСТВИТЕЛЬНО поддерживает необязательные параметры, а затем вызывает этот класс VB6 из C #.

В классе, написанном на VB.Net, я выполнил надлежащую перегрузку метода, чтобы предоставить несколько методов для вызова этой одной функции VB6.

Пример - скажем, функция VB6 имеет три параметра, первый из которых требуется, а второй два необязательных, я d создать три функции в компоненте VB.Net.

Public Sub CallComponent(byVal myParameter as Integer)
  ....call component with one parm
End Sub

Public Sub CallComponent(byVal myParameter as Integer, byVal parm2 as  String,)
  ....call component with two parms
End Sub

и т.д ...

И похоже, что в 4.0 появятся дополнительные параметры: http://geekswithblogs.net/michelotti/archive/2009/02 /05/c-4.0-optional-parameters.aspx

5
ответ дан 17 December 2019 в 04:48
поделиться
Другие вопросы по тегам:

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