Heavy Application with Multiple Modules


Mike TI

April 7, 2008

Hi all

I am planning to develop a solution that will comprise of about 6-8
integrated modules.

Now the user would be signing on to the solution (using module 1) and then
would have the ability of moving from one module to another. I want to tie
up some parameters with the user when he signed on, like security level of
the user, company selected, financial period selected etc.

My question is what is the best way to split an application (VB Net 2008) so
that I do not have one big EXE file.

Please note here again that the user would sign on to the application
through the first module and can then only go to other modules. The first
module would be the only and primary entry point.

Thank you.
Mike TI



Cor Ligthert [MVP]


Create a solution with one startup project while the rest are all Dynamic
Link Librarys projects.

However no modules, just classes.

Just my idea about your question.


Mike TI

April 7, 2008

Thank you very much for your reply.

Please note that a module would have both multiple forms and reports.

Sorry for asking a very basic question. How do you create a DLL in VB Net. I
have VB Net Professional Version 8 now.

Thank you.
Mike TI

Lloyd Sheen

Steve Gerrard said:
When you do a new project, the template for a DLL is called a Class

It would be worth it to do a test. Start with a brand new project, a
Windows Application. Save it as a new project and solution.
Then go to Files, Add, New Project (Not the regular new project command,
which replaces the current one). Add a Class Library.

Now you have one solution, with two projects: one a Windows Application,
the second a Class Library. Select the main application in the project
browser, right click, and select Add Reference. Click the Projects tab.
You should be able to select your class library. This creates a reference
from your main app to the class library, so you can use it in the main
app. You can add more Class Library projects to the solution as needed.

An alternative to the inherited is using Interfaces. If you have forms that
have different functions you can define the interfaces and have forms
implement those interfaces. An interface is often called a contract.

I have often used the pattern where the main form implements the mainform
interface and other forms implement one or more other interfaces. These
interfaces define the methods and properties that the main form and other
forms use to talk to one another.

You can use reflection to see if a form implements a certain interface and
if it does then use that interface rather than form as the type of variable.

One "drawback" is that each form has to implement the interface.




Mike TI

April 7, 2008

I have tried this. Thank you very much for your guidance.

Mike TI

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question