Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203

    [VB.NET] dll

    Ciao a tutti,

    ho creato un programma con il supporto per dei plugin creati sempre in vb.net
    con estensione .dll e fino a quì tutto mi funziona regolarmente, vorrei però

    poter creare sia una textbox che un commandbutton sul form del programma principale
    tramite il plugin.dll

    in modo che quando carico il plugin sia la textbox che la commandbutton appaiano dul Form

    dal codice del plugin scrivo
    codice:
            Dim a As New TextBox
       
            a.Visible = True
            a.Location = New Point(13, 338)
            a.Size = New Size(93, 20)
            a.Text = "PROVA OK"
    ma sul form del programma non appare.

    come potrei risolvere ?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    119
    Da quello che scrivi gli oggetti di tipo textbox NON dipendono dai plugin.
    Quello che ti manca è aggiungerli alla collection dei controlli.
    myform.Controls.Add(mytextbox)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    grazie per avermi risposto, dal codice della dll con ;My ho solo: My, Mybase, Myclass e MyGroupCollectionAttribute


    se con myform intendevi tipo form1 ecc non ho nemmeno quello

    potresti spiegarmi meglio ? sono agli inizi ancora...

    Grazie!


    EDIT:

    ho provato così ma niente

    codice:
            Dim a As New TextBox
    
            Dim myform As New Collection
    
            a.Visible = True
            a.Location = New Point(13, 338)
            a.Size = New Size(93, 20)
            a.Text = "PROVA OK"
            myform.Add(a)

  4. #4
    Utente di HTML.it L'avatar di ShaleN
    Registrato dal
    Aug 2010
    Messaggi
    517
    No. Potresti fare così: dal form principale richiami la funzione AddTextBox (ad esempio), che restituisce una TextBox messa come vuoi tu. Poi aggiungi alla collezione Control del form principale il risultato di AddTextBox.

    Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
    La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
    Occhio per occhio uguale... occhio al quadrato

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    Originariamente inviato da ShaleN
    No. Potresti fare così: dal form principale richiami la funzione AddTextBox (ad esempio), che restituisce una TextBox messa come vuoi tu. Poi aggiungi alla collezione Control del form principale il risultato di AddTextBox.

    si l'idea è ottima e sei stato abbastanza chiaro...
    però secondo me il concetto di plugin rispecchia qualcosa di dinamico

    aggiunta di un plugin = nuove funzioni che non dovrebbero apportare modifiche
    al codice del programma pincipale...

    se ti / vi viene in mente qualche altro metodo da poter utilizzare all'interno della dll

    potresti / potreste farmi sapere?

    Grazie ancora

  6. #6
    Utente di HTML.it L'avatar di ShaleN
    Registrato dal
    Aug 2010
    Messaggi
    517
    Originariamente inviato da S0nic
    si l'idea è ottima e sei stato abbastanza chiaro...
    però secondo me il concetto di plugin rispecchia qualcosa di dinamico

    aggiunta di un plugin = nuove funzioni che non dovrebbero apportare modifiche
    al codice del programma pincipale...
    Guarda che sei tu che hai detto che volevi aggiungere una textbox al programma principale. Un alternativa è quella di creare "a mano" un form dentro il codice della DLL e visualizzare quello dal form principale.

    Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
    La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
    Occhio per occhio uguale... occhio al quadrato

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    Originariamente inviato da ShaleN
    Guarda che sei tu che hai detto che volevi aggiungere una textbox al programma principale. Un alternativa è quella di creare "a mano" un form dentro il codice della DLL e visualizzare quello dal form principale.

    si scusa non mi sarò espresso bene...come modifica intendevo codice sorgente...
    ma non ala form.

    mmm quindi intendi di far apparire una form / finestra separata...
    non è proprio quello che speravo di fare...ma ci studierò un pò!

    Grazie mille

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    119
    Scusa, dove cavolo vuoi mostrare questo textbox ? visto che serve a gestire la visualizzazione / gestione di dati variabili non c'è nessun motivo per gestire un controllo per la sola stringa.
    Detto questo penso che il fatto che tu abbia delle dll plugin non c'entra proprio nulla.
    Se vuoi gestire il tuo campo su una certa form (che puoi aver anche caricato tramite la reflection ma ripeto i plugin non c'entrano nulla) su quella che "da qualche parte" hai ricbiamato PRIMA di richiamarla (anche dopo si può fare ma deve essere la stessa) e non una form "del tipo" della form dove vuoi mettere il campo.
    Dove richiami la form metti il comando che hai messo all'inizio del tuo thread aggiungendo myform.Controls.Add(mytextbox).
    Nota: con myform e mytextbox indico due oggetti del tipo che tu devi sapere quale è quello giusto e non dei figli della classe my come da te intesi erroneamente.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    Originariamente inviato da cyanuro
    Scusa, dove cavolo vuoi mostrare questo textbox ? visto che serve a gestire la visualizzazione / gestione di dati variabili non c'è nessun motivo per gestire un controllo per la sola stringa.
    Detto questo penso che il fatto che tu abbia delle dll plugin non c'entra proprio nulla.
    Se vuoi gestire il tuo campo su una certa form (che puoi aver anche caricato tramite la reflection ma ripeto i plugin non c'entrano nulla) su quella che "da qualche parte" hai ricbiamato PRIMA di richiamarla (anche dopo si può fare ma deve essere la stessa) e non una form "del tipo" della form dove vuoi mettere il campo.
    Dove richiami la form metti il comando che hai messo all'inizio del tuo thread aggiungendo myform.Controls.Add(mytextbox).
    Nota: con myform e mytextbox indico due oggetti del tipo che tu devi sapere quale è quello giusto e non dei figli della classe my come da te intesi erroneamente.
    diciamo che mi sono confuso abbastanza

    cmq la mia necessità è la seguente:

    ho un programma che usano diversi utenti, alcuni utenti hanno bisogno di funzioni extra
    che possono essere implementate anche nel tempo, e siccome non mi va di modificare semplre il codice ho deciso di usare i plugin.

    ora il plugin prova1.dll deve aggiungere un Button con una determinata funzione nella form del programma pincipale.


    nel tempo posso avere la necessità di dover creare altri 2, 4 o 10 plugin che inseriscano button o textbox.


    in questo momento sono talmente confuso che non riesco ad andare avanti

    fin quando si parla di richiamare funzioni o sub nessun problema..ma co sti oggetti

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    non ci posso credere

    tante di quelle prove...che alla fine ci sono riuscito!!!

    per vostra conoscenza nella dll:

    codice:
        Public Sub form(ByVal newref As Object) Implements [Interface].Extension.form
    
    
            Dim newref1 As New TextBox
    
    
            newref1.Visible = True
            newref1.Location = New Point(374, 3)
            newref1.Size = New Size(93, 20)
            newref1.Text = "PROVA OK"
    
            newref.Controls.Add(newref1)
    
        End Sub
    nel programma principale ovviamente dopo aver caricato il plugin
    do un semplice

    codice:
    plugin.form(Me)
    e appare la textbox


    grazie a tutti per i consigli

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.