? Visual Basic importatrice è il processo di riferimento a una libreria di codice che non è disponibile a livello locale per la libreria di classi NET di base . . La libreria di classi base fornisce una grande quantità di funzionalità , ma ci sono momenti in cui le librerie personalizzate devono essere utilizzati per la distribuzione del software . Anche se l'importazione di funzioni di libreria di un programma Visual Basic è spesso considerato un argomento avanzato , a volte può essere implementato con un minimo di due righe di codice . Platform Invoke
codice Importazione
in un progetto di Visual Basic richiede l'uso del richiamo piattaforma di servizio . Il richiamo piattaforma di servizi è stato aggiunto al quadro . NET per consentire l' accesso alle librerie di collegamento dinamico personalizzate , oggetti COM e le API Win32 nel codice gestito creato per il framework . NET . Ci sono alcune considerazioni da tenere a mente prima di utilizzare la funzione di richiamo piattaforma .
Richiamo piattaforma Requisiti
Prima l' utilizzo della piattaforma di servizi di richiamo , una chiamata deve essere fatto per i servizi " interoperabilità " all'interno del codice del programma . Questo codice deve essere aggiunto alla parte superiore la maggior parte della pagina principale del programma : "utilizzando System.Runtime.InteropServices , " prima di ogni utilizzo del richiamo piattaforma di servizi . Questo informa il compilatore che dovranno servizi al di fuori del processo principale. Il file di libreria o DLL deve essere inserito nella cartella di programma del progetto di Visual Basic in modo che possa essere chiamato durante il debug e le operazioni di esecuzione .
Richiamo piattaforma Dichiarazioni
< br >
Una "Dichiarazione " specifica il nome della libreria viene fatto riferimento nel progetto così come diversi attributi della libreria. Un "prototipo" della funzione di essere chiamato in quel particolare biblioteca deve essere creato . Il seguente è un esempio di questo tipo di dichiarazione :
" [ DllImport ( " mydll.dll " , CallingConvention = CallingConvention.Cdecl , Stati
charset = CharSet.Ansi , SetLastError = true , ExactSpelling = true ) ] "dichiara che una DLL viene importata ed elenca diversi attributi riguardanti la DLL , " public static extern int myFunction ( dati UInt32 ), " dichiara il nome della funzione chiamata dal file DLL e dà un prototipo generale per il suo utilizzo.
Considerazioni
Importazione mediante richiamo piattaforma deve essere utilizzata solo quando una funzione nativa non esiste all'interno del sistema operativo . I programmatori a volte usano la funzione di richiamo piattaforma per chiamare le funzioni API Win32 che eseguono operazioni in un modo a cui sono più abituati . Tuttavia, queste stesse funzioni sono spesso disponibili nella libreria di classi base con diverse convenzioni di chiamata . Importazione di una funzione di DLL nel codice gestito - . Tutte le funzioni sono gestite codice NET - richiede anche conto di aspetti quali la raccolta dei rifiuti e le prestazioni del processore . Garbage collection è preso cura di automaticamente in codice gestito , ma i risultati in programmazione in più se importati . Importazione di una DLL richiede anche un certo overhead di elaborazione che si aggiunge al trattamento aggiuntivo richiesto dalla programmazione supplementare.