Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271

    [VB6] esporre le funzioni in una nuova dll

    salve a tutti,
    ho un problema con la creazione di una dll (è la prima volta che ne facico una).
    Praticamente io utilizzo un insieme di moduli (.bas), classi (.cls) e form (.frm e .frx) per tutti i miei progetti.
    Ora per evitare ogni volta di portarmi nel progetto tutti questi file (con il conseguente aumento delle dimensioni dell' eseguibile), volevo mettere tutto all'interno di una dll.

    Così ho creato un nuovo progetto "DLL ActiveX" e ho buttato tutti i miei file dentro, ho compilato e ho creato il file "miadll.dll".
    Ora ho aperto un nuovo progetto VB6 e ho aggiunto il riferimento a "miadll.dll", ma non risco a vedere tutto ciò che mi aspettavo.
    In pratica posso dichiarare variabili del tipo delle classi che ho messo nella dll, ma non posso utilizzare le sub e le function dei moduli .bas e non posso utilizzare i form.
    P.S. Per le classi ho specificato "Instancing = 5 - Multiuse" per i moduli e i form non è possibile.



    Dove ho sbagliato?
    Grazie a tutti
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

  2. #2
    Ciao.
    Le funzioni contenute nei moduli bas non saranno mai visibili da progetti che istanziano la tua classe; anche se queste funzioni sono a tutti gli effetti pubbliche. Per poterle utilizzare occorre che siano esposte come pubbliche dalla classe. LO stesso vale per i Form: devi aggiungere alla classe dei metodi pubblici che li mostrino e ne restituiscano un riferimento.
    Es:
    codice:
    ' nella classe
    Sub ShowMyForm(Optional Caption As String)
    
       ' Mostra Form1
       With Form1
          If Caption <> "" Then .Caption = Caption
          .Show vbModal
       End With
    End Sub
    
    '
    Property Get MyForm()
       ' Restituisce un riferimento al form
       Set MyForm = Form1
    End Property
    Ciao
    Simo

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271
    :master: mmmmmmmm.....
    ok grazie.

    Ma per le function e le sub presenti nei moduli, se le metto in una classe, poi la devo istanziare per renderli visibili e utilizzarli, giusto???

    Pensavo fosse più semplice. Perchè volevo fare il tutto senza dover stravolgere il mio vecchio codice. Ma così è un lavoraccio, che adesso non ho il tempo di fare.



    Grazie
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

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.