? Visual Basic importerar är processen att referera ett kodbibliotek som inte är lokalt tillgängliga för NET basklass bibliotek . . Basklass biblioteket tillhandahåller en stor mängd funktioner , men det finns tillfällen att anpassade biblioteken ska användas för programdistribution . Trots att importera bibliotek funktioner till ett Visual Basic-program anses ofta vara ett avancerat ämne , kan det ibland genomföras med så lite som två rader kod . Plattform Anropa
Importera kod i ett Visual Basic-projekt kräver användning av plattformen åberopa tjänsten. Plattformen anropa tjänsten tillsattes . NET ramverket för att möjliggöra åtkomst till anpassade dynamiska länkbibliotek , föremål COM och Win32 API inom managed kod skapad för . NET framework . Det finns några faktorer att tänka på innan du använder plattformen anropa funktionen .
Platform Invoke Krav
Före användning av plattformen åberopa tjänster , måste ett samtal vara göras till de " Interop " tjänster inom programkoden. Denna kod måste läggas till den översta delen av huvudprogrammet sidan : " hjälp System.Runtime.InteropServices , " före varje användning av plattformen åberopa tjänster . Detta informerar kompilator som tjänster utanför av huvudprocessen kommer att krävas. Biblioteket eller DLL -filen måste också placeras i programmappen för Visual Basic -projektet så att det kan kallas vid felsökning och runtime verksamhet .
Platform Invoke Deklarationer
En " förklaring " anger namnet på biblioteket som refereras i projektet , liksom flera attribut av biblioteket . En " Prototype " av den funktion som anropas i just biblioteket måste också skapas . Följande är ett exempel på denna typ av förklaring :
" [ DllImport ( " myDll.DLL " , CallingConvention = CallingConvention.Cdecl ,
charset = CharSet.Ansi , SetLastError = true , ExactSpelling = true ) ] " förklarar att en DLL kommer att importeras och listar flera attribut om DLL , " public static extern int myFunction ( uint32 data) , " förklarar namnet på funktionen som anropas från DLL -filen och ger en generell prototyp för dess användning .
Överväganden
Importera via plattformen åberopa bör användas endast när en infödd funktion inte finns i operativsystemet . Programmerare använder ibland plattformen åberopa funktionen för att ringa Win32 API-funktioner som utför arbetsuppgifter på ett sätt som de är mer vana vid . Men dessa samma funktioner finns ofta i botten klassbibliotek med olika ringer konventioner . Importera en DLL-funktion i hanterad kod - . Allt hanteras kod NET funktioner - även kräver en undersökning av frågor som sophämtning och processorns prestanda . Sophämtning automatiskt tas om hand i förvaltad kod , men resulterar i extra programmering när de importeras . Importera en DLL också kräver viss bearbetning overhead som lägger till ytterligare bearbetning krävs av extra programmering .