Solved

Using a form, from a dll, to maintain properties in My.Settings

Posted on 2012-03-18
14
203 Views
Last Modified: 2012-04-09
Friends,

I have a document (attached to this question) that outlines the code I am using, and that some how  I want to include in my other projects (as a dll).  The end result, is that I want allow my users to update their data source names in the programs they use (which is what the dll is intended to do).

This works great for the Data Source Names (dsn) that are included in the dll's project, but if I include this project (as a dll), it won't reference the values in the parent program's My.Settings list.  It is still looking for a list of My.Settings for the local project (dll).

By this, I mean that I run a program (ex. Project 1) that uses the DSNMaintenance dll.  I want the DSNMaintenance.dll to look at Project 1's My.Setting list, and not it's own.  

Now, I could just include the form from the project, and it works great, but, if I wanted to make a change to that form, I'd have to update it in every project I use.

What do I need to change in my DSNMaintenance project to expose the My.Settings list of the parent project that references the dll?

Looking for VB.net syntax help, please!

Thanks in advance!
DSNMaintenanceCode.docx
0
Comment
Question by:indy500fan
  • 8
  • 6
14 Comments
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 37734937
0
 

Author Comment

by:indy500fan
ID: 37734954
CodeCruiser,

In a nutshell, is this saying that I need to build my list of settings in my main project, and then pass that to my dll?

If so, can you help me with the building of the list to pass?
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 37735008
I think you can define a property in the DLL which you form can access so you set it equal to my.settings at runtime before showing the form.
0
 

Author Comment

by:indy500fan
ID: 37735068
Code Cruizer,

Can you help me with that syntax help, please?
0
 
LVL 83

Assisted Solution

by:CodeCruiser
CodeCruiser earned 500 total points
ID: 37735158
In DLL

Public class ...

Public Property AppSettings As Object

Then in form

Dim set as New classname
set.AppSettings = My.Settings
...
0
 

Author Comment

by:indy500fan
ID: 37735168
Uh...sorry...a little more help, please?

You have to remember, I wasn't that great a developer before, and it's been two years since I've done this.  

What goes where?  My form is in my DLL, so I'm not sure which you are referring to.
0
 

Author Comment

by:indy500fan
ID: 37735422
Code Cruizer...

Is it possible that you haven't looked at my specific example?  I appreciate that you help a lot of people, but I said from the beginning that I was looking for VB.net syntax help, and I would appreciate help for my specific example.

I am looking up all the Settings, that contain the string dsn, and then putting them into a list, not just a single know property as it seems in the link you gave me.

Does that help you to understand where I am coming from?

Best Regards,
Eric
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:indy500fan
ID: 37737230
Code Cruizer,

You there?
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 37740206
Yes. The code I wrote was mainly suedo code to give you an idea.

The main idea is that you need to pass the reference of your My.Settings class into the DLL somehow. So if you have a form in DLL, you need to define a public property on that form and then set this property to My.Settings at runtime before you show the form so that form is able access the settings indirectly.
0
 

Author Comment

by:indy500fan
ID: 37740218
Can you create the code for the Property?  I'm not sure how to implement a property for the My.Settings as you describe.  I think I might be able to figure out the rest after that.
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 37740271
I already did


Public Property AppSettings As Object


Its object because My.Settings is dynamic. You can still use the

AppSettings.MySetting = value

as you as you are sure that settings exists.
0
 

Author Comment

by:indy500fan
ID: 37758301
CodeCruiser,

Okay, let me be VERY specific...Can you write the rest of the Property code.

including the Get and Set, please.

Eric
0
 
LVL 83

Accepted Solution

by:
CodeCruiser earned 500 total points
ID: 37769205
There is no need for that with the auto implemented properties. If you want to go that route then

private _AppSettings As Object
Public Property AppSettings As Object
Get
   Return _AppSettings
End Get
Set(Value As Object)
   _AppSettings = Value
End Set
End Property
0
 

Author Comment

by:indy500fan
ID: 37770693
I will try this tonight or tomorrow.  Thanks!
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now