Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - VB: DLL di Classi e Moduli in un progetto Windows Form
Forum - C# / VB.NET - VB: DLL di Classi e Moduli in un progetto Windows Form

Avatar
Mezzocere (Normal User)
Newbie


Messaggi: 4
Iscritto: 08/06/2020

Segnala al moderatore
Postato alle 21:47
Lunedì, 08/06/2020
Ciao a tutti,

non ho mai dovuto affrontare questa necessità, ma ora che mi occorre, sono in serie difficoltà.

spiego meglio il problema.

Ho una soluzione di un certo volume, circa 15/20 controlli personalizzati, una decina di form e circa 15/20 tra classi e moduli tralasciando risorse esterne come file generici ed immagini. (la soluzione comprende un unico progetto)


Quando vado a compilare il progetto, trovo solo l'exe ma non trovo la/le DLL che dovrebbero essere generate per via della presenza di classi, moduli e controlli personalizzati.

Probabilmente avrei dovuto creare 2 progetti distinti, un windows form e la libreria di classi ma sinceramente non ci ho proprio pensato. Ora, vi assicuro che se volessi scindere le classi, moduli e controlli dal progetto windows form, viene fuori un caos di errori che mi ci vorrebbero mesi per sistemarli tutti.

Sapete illuminarmi d'immenso .net? :asd:

grazie infinite
un saluto

dimenticavo, codice Visual Basic .NET

Ultima modifica effettuata da Mezzocere il 08/06/2020 alle 22:13
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 694
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 22:21
Lunedì, 08/06/2020
??
l'exe funziona?
se non hai specificato nel progetto che le classi o i moduli devono generare DLL, tutto viene inglobato in un unico exe, anche i file di supporto come le immagini e i suoni se se li importi come risorsa, finiscono nell'exe.
la cosa è positiva in un progetto stand alone, con un file hai tutto, solo i file per archiviare dati saranno a parte.
invece quando la classe è pensata per svolgere un compito adatto a software diversi, creare una DLL è utile, un giorno che si deve correggere qualcosa, corretta la DLL, tutti i software che la usano ne trarrano beneficio.

Ultima modifica effettuata da Carlo il 08/06/2020 alle 22:27


in programmazione tutto è permesso
PM Quote
Avatar
Mezzocere (Normal User)
Newbie


Messaggi: 4
Iscritto: 08/06/2020

Segnala al moderatore
Postato alle 23:00
Lunedì, 08/06/2020
Ciao Carlo,

si nella proprietà "Azione di compilazione" le classi i controlli ed i moduli sono in Compilazione, ma se al posto di Compilazione metto altre opzioni, mi vengono generati degli errori. Il progetto è sotto Namespace tranne i moduli.

Non ne vengo a capo.

grazie mille

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6073
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 6:56
Martedì, 09/06/2020
Ora non puoi fare nulla.

Dovevi prevedere i vari progetti di dll e usercontrol a parte e dovevi renderli coerenti e indipendenti. Poi scrivevi il progetto che li utilizzava, non si fa il contrario.

Ultima modifica effettuata da nessuno il 12/06/2020 alle 13:37


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 694
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 9:11
Martedì, 09/06/2020
Esatto, devi fare una soluzione che contiene più progetti, solitamente si compila il main come exe, gli altri come DLL (in base alle scelte, nulla è obbligatorio).
Inoltre i progetti che contengono le classi che vorrai compilare come DLL, devono essere programmate rispettando l'OOP.
Non puoi pretendere che una classe che usa variabili pubbliche dichiarate in altri moduli, diventi una DLL.
Oppure una classe che contiene istruzioni che modificano direttamente il form principale (Form1.TextBox1.Text = "Pippo") diventi una DLL.

Ultima modifica effettuata da Carlo il 09/06/2020 alle 9:14


in programmazione tutto è permesso
PM Quote
Avatar
Mezzocere (Normal User)
Newbie


Messaggi: 4
Iscritto: 08/06/2020

Segnala al moderatore
Postato alle 13:34
Giovedì, 11/06/2020
Ok grazie signori, mi rassegno per questa versione tanto prevedo una versione 2 del progetto, lavorerò decisamente su quella.

Molto gentili :)

PM Quote