はつねの日記

Kinect, Windows 10 UWP, Windows Azure, IoT, 電子工作

PerCのメンバ名

PerCの.NET系ライブラリをオブジェクトブラウザーでみると

public PXCMVoiceRecognition.ProfileInfo.Language language

public PXCMVoiceSynthesis.ProfileInfo.Language language

どうも、ここあたりの定義が原因でVB.NETから使うと次のようなコンパイルエラーが生じてしまいます。

image

Intelさん、治してくれないかなー。

 

C#が平気でVBだとダメなのは大文字小文字の区別がないからかな。

libpxcclrソースのLanguageをLanguagesにするとVBでもOKになる。

    [StructLayout(LayoutKind::Explicit)]
    value struct ProfileInfo {
        enum class LanguagepxcmEnum {
            LANGUAGE_US_ENGLISHPXCM_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;
    };