Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB6.0] lirberia caricata dinamicamente

    esiste un modo per caricare una libreria in modo dinamico?
    Cioè, mi spiego meglio: non voglio decidere il riferimento alla mia dll o ocx in fase di progettazione ma ben si in fase di programmazione, specificando il percorso della mia libreria, ad esempio.

  2. #2
    Se si tratta di una libreria COM basta creare un'istanza di uno degli oggetti che la tua libreria esporta tramite CreateObject; ovviamente la libreria deve essere registrata. Tieni conto però che usando questo metodo (che si avvale del late binding) otterrai codice più lento rispetto al metodo "normale" (che usa l'early binding); inoltre IntelliSense non ti potrà fornire suggerimenti sui metodi, e tutti gli errori come chiamate a metodi inesistenti verranno a galla solo a runtime.
    Ecco un esempio che si avvale di questa tecnica (copiato con poche modifiche da un mio script VBScript).
    codice:
        Dim objShell As Object, objFolder As Object
        Const BIF_RETURNONLYFSDIRS = 1
        Set objShell = CreateObject("Shell.Application")
        Set objFolder = objShell.BrowseForFolder(0, "Seleziona una cartella:", BIF_RETURNONLYFSDIRS)
        If objFolder Is Nothing Then
            MsgBox "Non hai selezionato alcuna cartella.", vbCritical
        Else
            MsgBox "Hai selezionato la cartella " & objFolder.Items.Item.Path
        End If
    Amaro C++, il gusto pieno dell'undefined behavior.

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.