.net - Responding To Application-killing Events During Class Initialization?
Apr 6, 2009
When starting my application, I have a couple of classes which are required to read certain files in order to create a set of default data. The logical place (to me) to do this is in a Shared class constructor; the idea would be to throw a class-level event if the reading of the defaults file fails. Unfortunately, this does not work as attempting to access such an event, in order to attach a handler to it, fires the class constructor before the event has been attached. In a failing case, the constructor starts, fires the fail event, the constructor completes, and then the event handler is attached, after the event has fired.
The only other solution I can think of is to give the class a "typeInitialisedSuccessfully" boolean property and put a try/catch block around every call to construct an instance of the class, which seems unnecessarily kludgey to me. Can someone suggest a more elegant solution?
EDIT: Because this is a fundamental Class, used in one form or another across nearly all of our software tools, I would greatly prefer a solution that will notify future programmers that the type initialiser needs to be called, which is why I initially went towards the Shared Constructor as a solution.
View 1 Replies
ADVERTISEMENT
Jun 30, 2010
Consider a simple VB.NET form with a couple of radio buttons and a checkbox.
Each of the radio buttons has a CheckedChanged handler setup that performs some action based on the state of the checkbox.
My problem is, when I initialize on the default radiobutton to be checked (from the designer properties window) the CheckedChanged event is fired for that radio button, but the Checkbox hasn't been initialized yet so I either get a null pointer exception or the wrong value is used in the handler. Either way, I don't want that handler code to be run unless the user picks a radio button after the form has been loaded.
I currently get around this by not initializing the radio button, but I need to set that default eventually and the best place is from the designer. I also can add a boolean field that's not set to true until the form is fully loaded and not process the events if that is false, but it's a dirty hack.
What can I do to prevent that handler from running its code?
View 3 Replies
Mar 7, 2009
In the application I'm working on I use F1 and also a right mouse click to close the application since the graphics display full screen and there's no control in the upper right corner to close with. I use a good number of different keypresses to control things and everything works fine. When I switch away from the form that the applications starts in to a different form I'm not getting any response from either a KeyDown or a KeyPress event. Maybe someone knows what's going on. The ButtonClick and MouseDown events are responding just fine but for some reason the KeyDown and KeyPress events aren't. Below is code for one of the Forms that is unresponsive in this way. [code]...
View 4 Replies
Nov 3, 2011
I have main class of Races with mulitple properties. One of those properties has been defined as another class Runners.
So I have a race with multiple runners and when I try to update the data i get an instantiation error.
For the life of me I can't get it to work.
This is what I am trying to do...
In the clsRace class I have defined :
PublicProperty clsRunner(ByVal index AsLong) As clsRunner
Get
[Code].....
View 4 Replies
Sep 14, 2009
I have designed a class for posting data to server, which is a time consuming task so that i have used background worker in my application. instead of repeatedly using backgroundworker in my application, i decided to add it to my class and generate two events PostWorkerReportProgress, PostWorkerComplted for my application
View 1 Replies
May 11, 2009
i want to create an anonymous class in vb.net exactly like this:
[Code]...
View 2 Replies
Nov 4, 2011
Whats the difference between these two initialization methods for obj? I've seen both of these, but know know if there is an appropriate time to use one vs the other. I found this post which covers C#, but not sure if the same applies to VB.Net.[code]
View 3 Replies
Jan 21, 2012
this is my first post and my knowledge of Visual Basic is still in its infancy (this is my first real attempt at app that is any use) however I am trying to develop an application to delete user profile and home directory folders.
I have the application working but the problem is with the application hanging (I understand this to be due to it running as a single thread and the main form gets ignored while the deletion is occuring) during the deletion process, I have tried various ways to resolve this such as starting the delete procedure as a new thread but cant get it to work without the hang.
[Code]...
View 1 Replies
Mar 8, 2009
My mdi VB.Net application performs a long operation on some data. Ideally I should use a separate thread to prevent the dreaded "Not Responding" message.My problem is if I use a separate thread users then have the ability to click on other controls in the application which can directly affect the operation my background thread is working on, creating an error.
Is there any way to prevent all the mdi windows, toolbars and other controls from receiving mouse clicks and keyboard input during my background thread's operation?
Or is there a way to clear the message que before performing a Application.DoEvents?
View 5 Replies
May 7, 2009
I can pause the application and see that it thinks no threads are running so no call stack. The other projects in the same solution are all responding fine, just this one stalls. I can not think of any way to work out what it was doing at time of stall, I have no event logs, no breakpoints, there is no particular thing I can check for in my own logging system (which is quite extensive) that shows where/why/what the application is hanging for. Any clues on how to solve/investigate? To add, this is on a Vista box, but not able to move the system to anything else (source controlled) until I can find out what this is. Its an avenue I can go down if required however.
View 4 Replies
Jun 19, 2011
Class Foo
ReadOnly name As String
Public Sub New(name As String, dependentUpon As Foo)
Me.name = name
[code]....
The output of New Bar() is:
Dependent created. Dependent upon nothing.
Independent created. Dependent upon nothing.
It seems fields are initialized in the same order as they appear in the source code, which (a) leads to an unexpected result, and (b) seems a little puzzling, given that one is normally not permitted to read from uninitialized variables in .NET, yet that seems to be working fine above.I would've expected VB.NET to be smart enough to initialize referenced fields first, and only then those that reference it; i.e. I'd have liked to see this output instead:
Independent created. Dependent upon nothing.
Dependent created. Dependent upon Independent.
how to get VB.NET to behave like that instead, without simply having to swap the declaration order of dependent and independent inside class Bar?
View 1 Replies
Feb 2, 2012
I'm using VB 2010 Express with a local Access DB. On the form I have a DataSet, a TableAdapter, a BindingSource that points to the DataSet (and the DataMember is the same table as the TableAdapter), a BindingNavigator that points to the BindingSource and finally a DataGridView that points to the BindingSource also.
I have added a Save button to the BindingNavigator. I want to enable / disable the Save button depending on whether there are changes in the data to send back to the Access DB. I think this is the code, but I am not sure if I'm really doing what I think I am (i.e. I am concerned I will assume something turns out to be wrong) or if there are better ways.
I am also uncertain what event to use to respond to. I have guessed at CellLeave, but I could be wrong and there might be much better choices. Finally I've been told that it's different if it's a DataTable, but I do not know enough to determine when something is a DataTable?
Private Sub CompClass_DataGridView_CellLeave(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles CompClass_DataGridView.CellEnter
Me.BindingNavigatorSaveItem.Enabled = Me.Component_MI_DataSet.HasChanges
End Sub
View 7 Replies
Jul 31, 2009
Whenever my application goes into a very long loop, the form stops responding. How can I stop this?
View 1 Replies
Sep 19, 2011
Im building an application in vb 2010 which uses window media player component. When I run the application in debug mode and Press Play button, the application hangs up and stops responding. When I press PAUSE button in vb 2010 the line it shows is
mediaPlayer.URL = curl
View 3 Replies
Apr 14, 2011
In my application, the user can create a word document from a word template with dynamically added text and data to it. This happens on a backgroundworker so that the application doesn't hang during the process. This all works fine and the word document opens correctly when finished. Now if the user leaves the application to do something else, in most cases when they come back to it, it has frozen. It's still responding/running in task manager but the interface is frozen. In debug mode, it never freezes and so I can't catch the exact moment when the freeze occurs. My backgroundworker is disposed of when complete and I close everything related to the word object.
View 1 Replies
Dec 12, 2009
I'm uploading an image to url... etc. The trouble is my application stops responding for 5-10 seconds while the image is uploading. I want to use multi-threading to stop it doing that but I'm confused with the whole way to use controls with backgroundworker. [code] I guess its the textbox which is causing the problem.
View 1 Replies
Mar 6, 2012
I`ve made a .NET component in C#. After that, i`ve created a class library in VB.NET and added this C# component and a couple of buttons to the library (creating another component now with buttons). So far, so good.The problem is: when i use this final component (vb.net class library), i want to link all MouseClick Events of its own components (buttons and C# component). In other words, when i add this final class library to my VB solution, it has its own MouseClick event. But when i click inside it doesnt raise the click event unless i do not click in the buttons or in the C# component inside it. I want to raise this event in the application wherever i click (inside or outside its own components).
View 14 Replies
Feb 25, 2010
how to create custom events. If anyone can give me some simple sample code and/or refences,
View 5 Replies
Sep 2, 2011
I'm trying to move some code into some class files to clean up my code. One area I'm having trouble with is reporting progress for events between the object performing the task and a progress bar. I guess the event functions have to be placed in the new class but they also need to update the progress bar on the calling form? Can the classobject return updates in place of the event handlers?
[Code]...
View 2 Replies
Mar 3, 2009
I've got an issue where Public Events in a class aren't being seen outside the class.
Code looks like this:
Public Class Class1
Public Event Event1(someargs as object)
Public Sub New()
'Perform Some Code
RaiseEvent Event1(someargs)
End Sub
End Class
View 1 Replies
Aug 15, 2011
can I call shared events contained in one class from another class?
for example:
logonclass.vb : handles login logic and authenticates against database
logonmanager.vb: hold current user reference and some logon and timeout events
Logon.vb: A form with a submit button.
I would like to do something like this but I can't get the compiler to agree with it
If VerifyEntries() Then
Try
privLvl = LoginClass.AttemptLogin(txtUserName.Text, txtPassword.Text)[code].....
If this isn't the proper way to wire things together let me know so I can learn to structure differently. In my planning it seemed like I was raising a lot of extra duplicate events from my logonclass to my loginmanager class. Then the loginmanager had to raise it again for the main form to see the change event. It got me thinking that if I publicly shared the events and could raise them from wherever then it would cut down on the amount of events I needed in code and the amount of them flying around at runtime.
View 2 Replies
Nov 13, 2009
i have the ComClassSearchCustomers class and interface IComClassSearchCustomersat .net which used to create a tlb file. The class raise an event inside new. After that i have a vb6 form Form1 which catch the event , but it never see the event.
[Code]...
View 3 Replies
May 18, 2009
I am using FileCopy and My.Computer.FileSystem.CopyDirectory to copy certain files and folders. The problem I have is that when this operation is being carried out for a large directory (say 1gb or so, probably less) - the program goes into a Not Responding mode until the copying is complete. If you let it sit there, it will eventually resume itself once the copy is complete; however, my end user is going to think the program crashed.
View 6 Replies
Apr 25, 2010
I'd like to be able to log to the console every time an event is fired either in the object I've instantiated or in anything it's instantiated [ad infinitum]. I wouldn't see some of these events normally due to them being consumed further down the chain). Ideally I would be able to log all public and private events but if only public are possible, I can live with that.
I've Googled and all I can find is how to monitor a directory - So I'm not sure if this is not possible or simply has a name that I don't know.
The sort of information I'm after is similar to what's found in an exception - Target Site, Source, Stack Trace, etc...
Could I perhaps do this through reflection somehow?
To Give you an idea of the console App:
Sub Main()
Container = ContainerGenerate.GenerateContainer()
Dim TemplateID As New Guid("5959b961-b347-46bc-b1b6-cba311304f43")
[Code]....
View 2 Replies
Jun 5, 2011
is it possible to create a class which has the majority of your keypress controls? Like allowing just letters or numbers in a textbox etc. To make things clearer what i exactly want. I have a textbox on my form. This is a textbox for the postcode. The postcode is supposed be something along the lines of AA 1234. This will be checked on lostfocus.
View 6 Replies
Nov 15, 2010
Consider the following objects:
Public MustInherit Class FileRepository
Public MustOverride Sub SaveStringToFile(ByVal FileText As String, ByVal FilePath As String)
Public Event FileSaved(ByRef sender As Object, ByVal EventArgs As EventArgs)
[code]....
I want my base class to raise the FileSaved event in it's implentation of SaveStringToFile once it's saved the file. However in VB.NET you can't have a derived class raise a base classes event. I suppose I can treat XMLFileRepository_FileSaved as a standard function call and have my SaveStringToFile implementation call it directly?
View 1 Replies
Jul 14, 2010
I am attempting to share a sub menu among several different parts of an application so that it is consistent (not wanting to copy/paste.) I thought it would be simple. I am doing something like this:
[Code]...
View 3 Replies
Jan 21, 2011
I have a .NET class, InstrumentConnector, that has an event, StatusChanged. I want to create several instances of this class (each class handles a separate file) and respond when the StatusChanged event is raised any instance. How would I do this in .NET? Do I want to create a List(Of InstrumentConnector) or a similar IEnumerable? How do I write the event handler to respond to a particular instance's StatusChanged event?
Here is the InstrumentConnector class and the module with the StatusChanged handler:
Public Class InstrumentConnector
Private _inProcessDir As String
Private _doneDir As String
[Code].....
View 2 Replies
Nov 21, 2009
How to get events from dll?Yeah, but i dont know how use addhandler in a function.
View 1 Replies
Jan 11, 2012
Declare Custom Events To Avoid Blocking, with more than one custom event. If I duplicate the Public Custom Event section and just change the event's name, then both events are called even if my code only calls one of them.
Public Class TestClass
Private EventHandlerList As New ArrayList
Private EventHandlerIndex As New ArrayList
[code]....
View 5 Replies