IDE :: Using A Windows Form .exe As A Class Library .dll
Jun 10, 2010
I have a Windows Form application compiled to a .exe that contains standard classes and one windows form class. I would like to reference that .exe in another project. The dialog to add references shows .exe, I add the file to my project, I can see the classes from that file but when I run the second executable I get a "cannot load type" error when I try to access the classes contained in the referenced .exe
That behavior seems strange to me since the IDE accept the .exe as a reference and even "intelisenses" its classes.
I do this because I want a standalone version of the form, but I also reuse it in other project. Am I doing it wrong, what's the best practice in my scenario? I'd rather not maintain both a Class Library project and a Windows Form project that includes the same code.
I have a class library in VB.NET that does a NET-envelope for an USB device driver.There is only one function of that driver that I could not envelope in a traditional class, but I had to put it in a Windows Service as described here:Sharing a class property (field) between applications.The Windows Service works fine, but I have now two projects for my NET-envelope: the one with the class library, the second with the windows service and I do not like the idea to maintain two distinct projects for the same driver.Is it a good practice (or even if possible) to add a windows service class to a normal class library (without creating its own project as described in the vb tutorial)?I know, in any case I should create a separate setup only for the windows service, but in this way I could have together all the classes that envelope my usb device driver in only one project.
frmOdyssey is the main form, from which frmSearch is called. After the above processing, I want to go BACK to frmOdyssey to process the FilFilterGrid sub on the Grid defined on frm Odyssey. I will be assigning a new DataSource for the Grid, which will be "selected down" by the strFilter. The above code works with no issue whatsoever in "Windows Application" mode. However, if I switch to "Class Library" mode, I get an error on the last line of the last Sub, telling me "Reference to a non-shared member requires an object reference". If I uncomment the "Dim f As New frmOdyssey" line, and change the "frmOdyssey" to "f" on the next line, the error goes away, but then the process doesn't work, because the "select down" does not happen. I don't know why, except that "logically" I don't want a "new version" of the frmOdyssey. I want to update the existing form.
I have trouble to control my form using with the class library. I am trying to set the form to maximum and set the form border to none. There is an error in come to the end of the statement next to the test.myform.[code]The error I have received is Object reference not set to an instance of an object.
I have a .net class library with a com class that calls a form. I want to to SetCompatibleTextRenderingDefault(false) to ensure the form fonts look nice.
If I run the command in the class constructor I get the following error: SetCompatibleTextRenderingDefault must be called before the first IWin32Window object is created in the application.
Edit1: To clarify, I get this error when initiating the class from a .net test harness, if I call it from a VB6 app then I simply get "Automation Error"
Edit2: Is the answer that I cannot use SetCompatibleTextRenderingDefault in a com class when calling from a vb6 app?? Maybe it's the "parent" app that needs to call this method and as such a vb6 app cannot?
how can I make the fonts look nice in a .net class library form called from a vb6 app?
i have a query iam able to add items in listbox from form 2 to form1 from windows application in vb.net but iam unable to add items in listbox from form 2 to form1
I have a project that was created as a class library application. It does not have any start up forms. How do I add and show a start up form to this project? Where does this application start since there is no Main Sub that I can find. I am using Visual Studio 2008 express.
I'm trying to create a DLL with some useful methods and subs for my use. But when I tried declaring an object for Form or using the keyword Screen, Bitmap, etc.. gives an error saying that "The type 'Screen' is not defined" and like that..
I am in the beginning stages of learning VB.NET and all I want to know is how you link a created Class Library to a Form? I've seen code at the top of the designer window that says <dim objSomething as New somethingClass> What the heck is that and how does it work?
I have a project that will need several forms with a similar structure - a Data Grid View control, a few buttons and some textboxes. They are not similar enough to use just one form and change things programatically so I would like to create a "template" and add several copies of it into my project. My first attempts have failed miserably, ending up with lots of "conflicts" and "duplicate items".
So, how should I save a form from my existing project in such a way that I can then load in multiple copies (giving them suitably different names) without having name conflicts?
I have a Visual Basic Class Library project. It generates a DLL. Is there a method to generate a static .LIB to which I can do a static link?Alternatively, can I do a static link against a DLL?
I Need Build a user control which works as a Login control using Windows Class Library or Component Template:The user control returns the user name and the password It means that the control has minimum two ReadOnly Property procedures. You let the user of your control (he/she which uses your control in his/her software) to set the background colour of the two labels. Create a Windows application to test your control.
I've createda vb.net class library where I've defined a number of small classes... nothing complicated, just working with strings, sending emails, etc.In another project, I reference the class library and I'm seemingly able to create an instance ofone of tclasses - intellisense shows me all of the plic properties, methods, etc... all looks perfect. No compile errors at all, nothing b gumdropsand lollipops.When I run the app I'm working on that references the class library, it fails at the point where I'm creating an instance of the class and gives me a vague exception, "System.TypeLoadException".
I have made a class using New->Class Library. I have 2 constructors, 1 function (that computes length of circle), one subroutine that computes area of circle, and main subroutine.
Public Class Class1 Class Circle Dim rad As Double
[CODE]...
My problem is when I try to run the program: No errors of syntax.
What I must do? I need to right click in solution explorer add new item->add->class and copy here this code?
After I write the code I chose from the vb menu: Build->Build Solution_name
Before writing the code I choose File->New->and selected class library then save all to save as a project.
Or class library is only a dll file that runs with a windows forms application. (that is added after i write the code for write library).
How do I open a Windows 7 Library like Documents, Pictures, Music, Videos and all other custom libraries from my app? I tried opening explorer.exe LibrariesDocuments but it doesn't work.
I'm trying to program in a true object oriented manner and its causing me to re-learn a few things. Specifically, I'm having some trouble with error handling. I have all of my data access being performed by an adapter class in a seperate project. I can catch duplicate records without any problems, but I want to be able to send a message back to the user. Here's what I have so far:
I am making a TabStrip control to hold a number of tabs just like TabControl, but only with the tabs, no page. The control has a "Tabs Collection", which stores a list of "Tab" class. "Tab" is not inherited from Control, but each tab has its events. So when the user add a "Tab" in the "Tabs Collection", each "Tab" instance should have a (Name) identifier, which user can access it in the code, and with WithEvents keyword so users can add event handlers to each "Tab". The expected out come should similar to this:
Friend TabStrip1 As TabStrip Friend WithEvents t1 As Tab ... Me.TabStrip1.Tabs.Add(t1)
there's a lot of dlls i've got one in the Release folder and one in the Debug folder under bin, there seem to be one in the obj folder as well.they all seem to work fine, but which should be the correct one?
I have two projects; A and B, where B needs to use some classes that are in project A. Hence, I added B to A's solution, and in B I added a reference to project A.
Is that sensible? Or should I rather put those classes in a class library?
I see that if I further want to open form/program B from a menu option in project A, then A needs a reference to B. Which would not be possible if B already had a reference to A. However if I use the class library for the common classes, then it's ok as B doesn't need the A reference.
Does this sound logical? It would be nice to know what are typical reasons for putting projects in the same solution, and if it's advised to use libraries aggressively to refactor common code between two projects, even if it's just a couple of classes.. Yet I've never made my own library, so a bit unsure on when to use it.
I'm merging two of my projects that can share a lot of the same classes into one solution with two web applications and a shared class library.
I've literally just dumped all the classes into the class library project and as expected I've got a ton of errors to fix. My main problem at the moment is the connection string. Currently I have this (which is obviously not going to work):
''' <summary> ''' Initialise the data access layer by loading the database connection string from the Web.Config file
I'm in the midst of developing a class library DLL for a third party application. On my machine, the developers machine, things are going along smoothly. I can compile/build and my DLL is loaded, and thus works as expected.
I've been copying the contents of the Release directory from C:Solutions...Release to C:ProgramDirectory. I realize now that my DLL is loaded into memory from the Release folder, and not the folder I copied it to.The point being of course, I want to distribute this third-party add-in to my users. And sure enough when I try that, presumably the DLL isn't loaded into memory and thus not available to the user, like it is on my machine.
I tried the first obvious thing and registering the DLL on the user's machine, but that failed."The module "..." was loaded but the entry-point DLLRegisterServer was not found." It's apparent I am missing some key step or caveat when it comes to developing this class library.