PerCの.NET系ライブラリをオブジェクトブラウザーでみると
public PXCMVoiceRecognition.ProfileInfo.Language language
public PXCMVoiceSynthesis.ProfileInfo.Language language
どうも、ここあたりの定義が原因でVB.NETから使うと次のようなコンパイルエラーが生じてしまいます。
Intelさん、治してくれないかなー。
C#が平気でVBだとダメなのは大文字小文字の区別がないからかな。
libpxcclrソースのLanguageをLanguagesにするとVBでもOKになる。
[StructLayout(LayoutKind::Explicit)] value struct ProfileInfo { enum class Language: pxcmEnum { LANGUAGE_US_ENGLISH = PXCM_UID('e','n','U','S'), LANGUAGE_GB_ENGLISH = PXCM_UID('e','n','G','B'), LANGUAGE_DE_GERMAN = PXCM_UID('d','e','D','E'), LANGUAGE_US_SPANISH = PXCM_UID('e','s','U','S'), LANGUAGE_FR_FRENCH = PXCM_UID('f','r','F','R'), LANGUAGE_IT_ITALIAN = PXCM_UID('i','t','I','T'), LANGUAGE_JP_JAPANESE = PXCM_UID('j','a','J','P'), LANGUAGE_CN_CHINESE = PXCM_UID('z','h','C','N'), LANGUAGE_BR_PORTUGUESE = PXCM_UID('p','t','B','R'), }; [FieldOffset(0)] PXCMCapture::AudioStream::DataDesc inputs; // supported input format [FieldOffset(1088)] PXCMString<128> speaker; // speaker name [FieldOffset(1344)] Language language; // supported language [FieldOffset(1348)] Alert::Label alerts; // interested alerts [FieldOffset(1352)] pxcmU32 endOfSentence; // end of sentence in ms [FieldOffset(1356)] PXCMArray<pxcmU32,sizeof(pxcmU32),13> reserved; };