Forms :: Not Responding - Whenever Application Goes Into A Very Long Loop
Jul 31, 2009Whenever my application goes into a very long loop, the form stops responding. How can I stop this?
View 1 RepliesWhenever my application goes into a very long loop, the form stops responding. How can I stop this?
View 1 RepliesI'm using vs2008 programming in vb.net. I'm currently working on a project that reads miscellaneous text files and imports data into a sql database accordingly (Reads line, imports, loops until finished). There are 75k-150k imports to do. I tested it out the other day before using a progress bar, it takes about 5-10 minutes and works fine.
The issue I have is that while importing, if you click anywhere on the form, it will say not responding and will continue to import, but users using the program might be mistaken and think the program has locked up. I thought a progress bar would solve this, since it is responding back while the imports are going on in the background. However, the progress bar works, but as soon as you click anything on the form, it again says not responding and the progress bar stops moving (the imports will complete however). How can I isolate this import process so it can do this in the background, but will not affect the rest of the program?
I wrote a program which loops through a very long CSV file (50 meg) and parses the data as it goes.Sometimes, the program aborts and I get the following message:The CLR has been unable to transition from COM context 0x37a090 to COM context 0x37a200 for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages. This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time. To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives (such as CoWaitForMultipleHandles) and routinely pump messages during long running operations.
I know its going to take a while. There are several hundred thousand lines of text in the file that this program is reading. I am not sure exacly waht the message means, but my program seems to work fine other than the message. odd thing is sometimes the message doesnt always pop up..
Someone had coded a project in Java. THis was just a calculation that looped through 1000 iterations. We had done the same thing in Vb.net.Does anyone know the speed difference between Java and Vb.net for a long calculation loop? I had heard Java was very slow.
View 4 Repliesthis 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]...
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?
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 RepliesI'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
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
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.
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 RepliesI'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 RepliesI have a String with 15 places that I would like to split into 3 pieces: (First 3 digits), (next 3 digits), (remaining 9 digits).
How in VB2008 can I do that? Everything I have read so far indicates seperating by a certain character (ie: "," or " ") but no mention of character place. Seems like a simple thing, but after 2 hours of searching I'm still coming up empty
I am now developing an app to manage process in my company. Since the app will mostly do heavy process such as :
1. Qerying a large database
2. Calculating data displayed on grid
3. Editing value on each cell in a grid and many more
When the app do these stuff, the screen would go into 'not responding" mode, which is quite suck.I am thinking to show a small form contain of 1 label (please wait...) and 1 picture (animated provess gif), but when I do this, the "please wait" form also go to not responding mode.
I am creating a WPF Application that uses Fluent library.
On my computer with Windows 7, 2GB RAM and AMD Triple Core processor, after double clicking on the program icon, The Splash image shows after about 1-2 seconds.
But on my brother's old computer with Windows XP, 512MB RAM and Intel Celeron 2.0 GHz Processor (Single core), after double clicking on the program icon, First, a process called PresentationFontCache.exe runs and it uses almost 100% of CPU for some seconds. And Total time is needed for displaying the initial Splash image is almost 30 seconds (or more).
I don't want that some users have to wait 30 seconds for displaying splash image and about 7-8 seconds for loading application. (my application load process takes 7-8 seconds)
I am not able to find the Exclude Command in VB 2010 Express. I have no idea which version of Visual Studio it is working with. I've got one 217MB VB 2010 Express file and many 2008 VB Express files with one of them measuring 31 MB. There many other SQL files and .Net Files.
View 4 RepliesIs there a easer way of coding in stead of wrighting long long paragraphs like this in one line [code]All of this is on one line and i got lots of info to put down.."The game will begin on your 16th birthday with your mother waking you up. Today you are to go to the castle for the first time. Leave your bed and open your dresser for a Strength Seed. "
View 2 RepliesI 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 RepliesI wrote an app in Visual Studio and is about 20k+ lines, but I don't know why it takes so long to start up. I have a splash screen just to test it to see if the program is working, and it is, but I have to wait for so long for the app to actually get to the start up form. A splash screen for this app isn't ideal, but was only using a splash screen for test purposes.
View 1 RepliesIn Visual Studio 2008 I am using :Private Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long To stop input from occuring during a search-replace operation.
BlockInput(True) ' do not allow input during search and destroy
Dim cursorIcon As Cursor
cursorIcon = Cursor
Cursor.Current = Cursors.WaitCursor
Then setting it to false at the end of the operation. It did not work, so I thought maybe it was because I was calling it from a child window, so I created a function in the mainwindow, and ran it like this:
FrmMain.BlockFrmMainInput()With these functions is the Main window:
[Code]...
It did not solve the problem. I thought maybe it was because I was running under the debugger, so I tried compiling and running it debugger-free, but that did not do any better. I am still getting input when I double-click the mouse on either form.
The fact is I'm making an application, which users can install by using a Setup file...once installed the data in the database can be updated by a centralized server. To do this, they can insert a DVD/CD-ROM and export the necessary data towards it. I need to do it that way, because some of the users who really need this data will be using stand alone computers.The application gets it's data from a mdb-file and the connection remains open as long a person works with the application (maybe not the best way to do, but I know :-) )...when the user uses the application, he can perform an export...this exports the .ini-file and pictures (which works fine), but he also needs to export the mdb behind the application...I already tried connection.close() before and connection.open() after the System.IO.File.Copy...but that doesn't seems to work.
View 2 RepliesI'm sure this type of function is simple, but for the life of me, I can't get it.I have 3 forms. Main form holds a list box, which is my shopping cart.FormP holds the print books in a list box.FormA holds the audio books in a list box.I can send the books from forms a & b to the list box cart on main by way of formMain.ListBox.Items.Add(ListBox.SelectedItem.ToString())but I can't access the items once there and associate a cost to throw to subtotal.[code]
View 3 Replieshow can i loop through all the forms in my application??
View 6 RepliesI'm a VB.Net newbie, and would like to write a small app that runs a While loop to check a DNS domain name, and exits once the domain has been registered.
I found code at How to Get Host Name and IP Address in VB.Net - .Net Articles & Samples to resolve the hostname and handle the "No such host is known" error if it still hasn't been registered, but I have a couple of issues:
1. How to make sure the GUI is correctly displayed even though there's an endless While loop? Should I use some kind of asynchronous call so that the window doesn't freeze?
2. I'd like the app to mimize to the icon bar, and have its window title display some status information ("Still waiting/Registered!") so that I can simply move the mouse over it and know whether the domain has finally been registered or not.
I have a basic three form application. It doesn't seem to close after navigating through forms. If I were to open the application, and the main form is displayed. If I press the X button, the application closes fine(Goes from processes) If I were to open the application, and then navigate from the main form to another form using me.hide & form1.show, and press the red X on Form1, the application again, closes fine.
[Code]...
Is it a way to set the text in a textbox from a loop? Bad Explained, heres an example
Dim id(10) as string
For h As Integer = 0 To 10
[code].....
how would i ggo about coding this
For i = 0 To maxrows - 1
For h = 1 To maxrows
Me.Controls.Item("TextBox" & h).Text = ds.Tables("TestCriteria").Rows(i).Item(0) Me.Controls.Item("NumericUpDown" & h).Value = ds.Tables("TestCriteria").Rows(i).Item(1)
[code]....
I want to create a table with 2 fields (FormName, ControlName) that consists of all form names and all control names (within that form).[code]...
How do I loop through all forms and controls in my project?
I am looking for Visual Basic 2010 code that would loop through all the forms in a project, i.e., the equivalent of the following VB 6 code:dim frmFom as Form for each frmForm in Forms
View 4 RepliesI am looking for Visual Basic 2010 code that would loop through all the forms in a project, i.e., the equivalent of the following VB 6 code
View 1 Replies