CLS-compliant   zodpovězená otázka

VB.NET, Compact Framework

VS2008 Pro, CF

Dobrý den,

V plikaci potřebuji použít Pinvoke funkci BitBlt z coredll.dll.

Funkce má jako parametr enumeraci s typem uint32.

enumetaci mám označenou jako <CLSCompliant(False)>, ale ve funkci se mi podtrhuje jako varování. Nevím jak se ho zbavit.

  <DllImport("coredll.dll")> _
        Public Shared Function BitBlt( _
                    ByVal hObject As IntPtr, _
                    ByVal nXDest As Integer, _
                    ByVal nYDest As Integer, _
                    ByVal nWidth As Integer, _
                    ByVal nHeight As Integer, _
                    ByVal hObjSource As IntPtr, _
                    ByVal nXSrc As Integer, _
                    ByVal nYSrc As Integer, _
                    ByVal dwRop As TernaryRasterOperations) As Boolean
        End Function

zkoušel jsem dát před něj:

<CLSCompliant(False)> ByVal dwRop As TernaryRasterOperations

Ale bezúspěšně.

Věděl by někdo jak se zbavit toho varování ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A tak už jsem na to přišel celá funkce musí být clscompliant(False)

<DllImport("coredll.dll")> _
<CLSCompliant(False)> _
        Public Shared Function BitBlt( _
                    ByVal hObject As IntPtr, _
                    ByVal nXDest As Integer, _
                    ByVal nYDest As Integer, _
                    ByVal nWidth As Integer, _
                    ByVal nHeight As Integer, _
                    ByVal hObjSource As IntPtr, _
                    ByVal nXSrc As Integer, _
                    ByVal nYSrc As Integer, _
                    ByVal dwRop As TernaryRasterOperations) As Boolean
        End Function
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ne že by to bylo špatně, ale máte nějaký zvláštní důvod označovat tu metodu jako CLS nekompatibilní?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dělám v CompactFrameworku a tak se mi Uinteger označuje varováním, že je CLS nekompatibilní. Tak abych se zbavil toho hlášení. Jde o pinvoke funkce v aplikaci jich mám víc a ty chyby jsou tak trochu otravné.

Jinak Uinteger hodnota je u TernaryRasterOperations to je enumerace s typem uint32.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback