Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    628

    [VB.NET] Creare DLL

    Ciao a tutti
    Ragazzi come si crea una .dll?
    Dovrei metterci delle funzioni che utilizzo spesso, potrei anche inserirle in un modulo .vb ma preferirei metterle dentro una .dll in modo tale da richiamarle anche da altri linguaggi.

    Grazie mille
    Software gratuito per gestire le tue newsletter: Mercurio

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Crea un progetto Class Library.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    628
    Originariamente inviato da alka
    Crea un progetto Class Library.

    Okkk trovata...
    Ma crea una dll a tutti gli effetti? Può essere utilizzata anche da altri linguaggi?
    Software gratuito per gestire le tue newsletter: Mercurio

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da [D]ottor
    Ma crea una dll a tutti gli effetti? Può essere utilizzata anche da altri linguaggi?
    Altri linguaggi .NET, o che possono importare tali classi.

    Non si creano comunque librerie native.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    628
    Originariamente inviato da alka
    Altri linguaggi .NET, o che possono importare tali classi.

    Non si creano comunque librerie native.

    Azzz..
    Invece si possono importare librerie native nei progetti?

    Magari la creo con il C++
    Software gratuito per gestire le tue newsletter: Mercurio

  6. #6
    Certo, usando Declare o DllImport.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    628
    Originariamente inviato da MItaly
    Certo, usando Declare o DllImport.
    Ma non devo aggiungere un riferimento?

    Qual'è la procedura per aggiungere una .dll nativa al progetto?

    e come faccio ad utilizzarla

    Declare Pippo.dll

    Poi

    Pippo.funzione() ??
    Software gratuito per gestire le tue newsletter: Mercurio

  8. #8
    Allora, qui bisogna fare un distinguo:
    -se stiamo parlando di dll native COM (volgarmente dette ActiveX) allora devi aggiungere la dll in questione ai riferimenti;
    -altrimenti devi usare Declare per ogni funzione esportata dalla libreria nativa che vuoi usare (esattamente come nel caso delle API); ammettendo che la tua libreria si chiami pippo.dll ed esporti la funzione yukyuk così dichiarata in una dll C++:
    codice:
    int __declspec(dllexport) __stdcall yukyuk(int, double, char *);
    allora in VB dovrai inserire
    codice:
    Public Declare Function yukyuk Alias "aliasfunzione" (X As Integer, Y As Double, Z As String) As Integer
    L'alias da inserire in "aliasfunzione" dipende da molti fattori, tra cui se compili la dll con un compilatore C o C++ e se premetti alla definizione della funzione un "extern"; il modo più rapido per conoscere l'alias è guardare i nomi delle funzioni esportate dalla tua dll con il Dependency Walker. Puoi evitare di inserire l'alias disattivando la "decorazione" dei nomi delle funzioni esportati nel tuo compilatore, cosa generalmente non possibile, o inserendo nel progetto della dll un file .DEF con cui definire i nomi con cui esporterai le funzioni.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    628
    grazie mille come sempre!!!
    Software gratuito per gestire le tue newsletter: Mercurio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.