casa
Top.Mail.Ru Yandeks.Metrika
Forum: "Principale";
Archivio attuale: 2002.01.08;
Scarica: [xml.tar.bz2];

giù

Dll s Trova rami simili


HELP ME PLZ   (2001-12-15 18:22) [0]

AIUTATEMI PER FAVORE LA PRIMA VOLTA A LAVORARE CON UNA DLL COME CHIAMARE UNA FUNZIONE DA UN DLL-shki



Oleg Gashev   (2001-12-15 18:35) [1]

Chiamando le DLL

Gruppo di argomenti Vedi anche

Prima di poter chiamare le routine definite in una DLL, è necessario importarle. Questo può essere fatto in due modi: dichiarando una procedura esterna o chiamando direttamente l'API di Windows. Qualunque metodo tu usi non è collegato alla tua applicazione; Devi compilare il tuo programma. Significa anche che stai cercando di importare una routine.
Object Pascal non supporta l'importazione di variabili da DLL.

Caricamento statico

È un modo per dichiararlo usando la direttiva esterna. Ad esempio,

procedura DoSomething; "MYLIB.DLL" esterno;

Se si include questa dichiarazione in un programma, MYLIB.DLL viene caricato una volta, all'avvio del programma. In tutto il programma, l'identificatore viene sempre definito come la DLL.
Dichiarazioni di routine importate in cui sono chiamate. Può essere utilizzato per semplificare la manutenzione, tuttavia, può essere utilizzato per l'interfaccia con la DLL. (L'unità Windows di Delphi è un buon esempio.) È possibile utilizzare altri moduli.

Per ulteriori informazioni sulle dichiarazioni esterne, vedere Dichiarazioni esterne.
Caricamento dinamico tramite chiamate API Windows.




Oleg Gashev   (2001-12-15 18:36) [2]

-------------------------------------------------- ---------------
LoadLibrary

La funzione LoadLibrary esegue il mapping del modulo eseguibile specificato nello spazio degli indirizzi del processo chiamante.

HINSTANCE LoadLibrary (

LPCTSTR lpLibFileName // indirizzo del modulo eseguibile
);


parametri

lpLibFileName

Indica una stringa con terminazione null che denomina il modulo eseguibile (un file .DLL o .EXE). È una regola che gli è stato assegnato il nome del file di definizione del modulo (.DEF).

Non è il caso in cui la directory fallisce.
Estensione della libreria predefinita DLL aggiunta. Tuttavia, è possibile indicare che il nome del modulo non ha estensione. Quando il percorso è specificato nella seguente sequenza:

1. La directory da cui è stata caricata l'applicazione.
2. La directory corrente.
3. Windows 95: la directory di sistema di Windows. Utilizzare la funzione GetSystemDirectory per ottenere il percorso di questa directory.

Windows NT: la directory di sistema di Windows 32-bit. Utilizzare la funzione GetSystemDirectory per ottenere il percorso di questa directory. La directory di SYSTEM32.

4. Windows NT: la directory di sistema di Windows 16-bit. Non esiste alcuna funzione Win32, ma viene cercata. La directory è SYSTEM.
5. La directory di Windows Utilizzare la funzione GetWindowsDirectory per ottenere il percorso di questa directory.
6. Le directory elencate nella variabile di ambiente PATH.



Questa è la prima directory che è stata utilizzata per creare il processo di chiamata. Questo file è una directory della variabile d'ambiente.
Una volta effettuata la funzione, è stato determinato che il modulo è stato aggiornato. Se hai effettuato l'accesso in precedenza, non sei sempre caricato. È una funzione per la libreria.



Valori di ritorno

Se la funzione ha esito positivo, è un handle per il modulo.
Se la funzione non riesce, il valore restituito è NULL. Per ottenere informazioni sull'errore estese, chiama GetLastError.

Commento

È una DLL che può essere utilizzata per ottenere l'indirizzo di una funzione DLL. LoadLibrary può anche essere usato per mappare altri moduli eseguibili. Ad esempio, è possibile utilizzare FindResource o LoadResource.
Gli handle del modulo non sono globali o ereditabili. Può essere usato per



Pagine: 1 tutto il ramo

Forum: "Principale";
Archivio attuale: 2002.01.08;
Scarica: [xml.tar.bz2];

al piano di sopra









Memoria: 0.57 MB
Ora: 0.025 c
14-22392
~ Mag ~
2001-11-10 13:27
2002.01.08
Persone come sbloccare il registro in Windows ???


4-22507
Slaviq
2001-11-06 17:55
2002.01.08
Icone di sistema


1-22004
KhLexa
2001-12-17 17:57
2002.01.08
glitch


6-22299
Leviathan
2001-10-11 21:58
2002.01.08
Gestione degli errori TClientSocket


1-22015
cacciatore
2001-12-17 13:17
2002.01.08
Immagine per stampante





afrikaans albanese Arabic armeno Azero basco bielorusso Bulgarian catalano Cinese (semplificato) Cinese (tradizionale) croato Ceco danese Dutch Inglese estone filippina Finnish Francese
galiziano georgiano Tedesco greco Creolo haitiano ebraico hindi ungherese islandese Indonesian irlandese Lezioni Giapponese Korean lettone lituano macedone Malay maltese Norwegian
persiano polacco Portoghese rumeno Russian serbo Slovak sloveno Spagnolo swahili Swedish Thai turco ucraino Urdu vietnamita gallese yiddish bengalese bosniaco
Cebuano esperanto Gujarati Hausa Hmong Igbo giavanese kannada khmer lao latino maori marathi mongolo nepali punjabi somalo tamil telugu Yoruba
zulù
Inglese Francese tedesco italiano portoghese russo spagnolo