Structure Without Creating New Thread For Every Iteration
May 8, 2011
I'm trying to create a structure wherin I have got 1 mother thread and 2 child threads. The child threads get variables to work with from their mother thread and after completion they report back to the mother with the resulting variables. I'd like to be as efficient as possible so creating a new thread every time a thread has finished it's work is kind of a no-go. How can I create this structure without creating a new thread for every iteration?
Preface: I know this is an unusual/improper way to do this. I can do this with a "real" ShowDialog(), background worker/thread, and so on. I am trying to do specifically what I describe here, even if it is ugly. If this is impossible for X reason, I have created a fancy progress dialog for some of our long running operations. I need to have this dialog shown on a new thread while having processing continue on the calling (UI in most cases) thread.
Is there any performance hit (or other problem) to creating a lot of class and structure types for a project? I'm not talking about the number of objects existing in-memory during runtime; rather just defining a lot of object types during design time. I find myself making a lot of small classes and structures that are little more than simply packaging a few related variables together.
I have to create an array of structure type in VB.net. but I am getting error while marshaling this error. I have to pass this array of structure type in to Dll function. Code: Structure declaration: <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi)> _ Public Structure dx_entry <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=10)> _ Public dx As String [Code] .....
I am getting the following error: An unhandled exception of type 'System.ArgumentException' occurred in Audit_Demo_2307.exe Additional information: Type dx_entry[] can not be marshaled as an unmanaged structure; no meaningful size or offset can be computed.
I need to add some document management functionality into my software. Documents will be grouped by company name and project name. The folders need to be accessed by the application using the id numbers of clients/projects, but also easily browsed by the end user using windows explorer. Clients and Projects will be stored in a database. I am thinking of having the software create the folders using the friendly name and then using a hidden share with the id number for the software to access the files. [Code]
By using the hidden share, if the company name changes or its renamed for some reason it doesn't break the link in the application because its using the hidden shared based on the ID that never changes. Will having hundreds (maybe thousands) or hidden shares on a server provide a huge performance hit? Does any one have any suggestions or alternatives to provide this feature?
how to write the code for my project.I am to base my new project on an existing one(existing one has code that works 100%)and create an Array of a structure that bascially holds the information from a summary form AND the totals from an AddToOrder_Click event. If you are still with me)... I cant figure out what the code is for my structure and Array so that I STILL have a Summary Form but I have an array that shows when I click my PrintPreview. So an Array is basically a "space" that holds information, like my summary form except it doesnt show until I click PrintPreview right?
If I just wanted to show the table then my code belongs in the PrintDocument1_PrintPage to show the array but the actual structure code belongs in the Click_Event of my AddToOrder? Please Please understand I AM NOT asking for anyone to write my code, basically I am asking for some clarification on what exactly creating an array from a structure is and therefore determing where the structure is to be placed in my code..
I want to copy files with a specific extension (for example .config or .exe). It should create a structure of nested directories, and then insert each file into a specified place in the directory hierarchy. Ideally I would just specify a parent directory for each file and a parent directory for each directory and it would build it.
I need any existing utility or batch file or power-shell script or C#/VB .Net code to perform this activity.
I want to store my log files in the user's Application Data folder (to avoid all the hassle with Windows 7/Vista UAC permissions). By default, though, the app creates the folder structure like thisAppData/CompanyName/AssemblyName/AssemblyVersion/I just want a single folder without the AssemblyName and AssemblyVersion. Other than removing that info from the project, is there any other to just create a single
I have a small form that notifies the user on the completion of events (such as SMO restore). I want this form to appear from various sources (such as the below SMO Restore complete event) so I guess I need to create a new thread before creating the form? As it could be called from outside the UI thread. (I also need to pass a string to this form)
Basically I want to Create a new thread which create a new timer.I can create a new timer in different button but when one of the timer has an idle time or sleeps the other timers also sleep. I do think because they are running in the same thread.
I've a little program that has got tabControl with 2 tabs - "results" and "log". My idea was that when an error occurs the tab will switch automatically on tbLog to show what the problem was. Most arguably the problem is in threading. This is the code that..I use:
Dim thread As New Thread(AddressOf ExecuteQuery) thread.Start()
ExecuteQuery executes the query and I'm making an error deliberately to see if I'll be automatically switched to the log tab which is in Try-EndTry procedure:
tbGrid.SelectedTab = tbGrid.TabPages(1)
The program indeed switches to tabLog (which is number 1) but I don't see any controls on it (txtLog), then when I'm trying to switch tabs a couple of times I get "Error creating window handle in a thread". I read other forum threads about it where people as how many controls do they have in their programs but my program does not exceed 70 controls on a form.
i have a web browser control, that refreshes pages on a loop after calling a few subs, i need to create a delay in the loop so that the page has a chance to refresh and redisplay before it loops again. i tried the code below, but it seemed to freeze the entire form, elements including, so the web browser didnt refresh before the loop, so how could i create a non form-freezing delay for a loop?
For count = 1 To 20 WebBrowser1.Navigate("URL") simcheckcheck()
I am trying to create a tcp server, and from I have read I should create a new thread for each connecting client. So This the code I have in my listener thread. I get a error and do not really know how to do it.
While _ListeningStatus = True 'Dim Client As TcpClient = TcpListener.AcceptTcpClient 'If Client.Connected Then 'Dim ClientThread As Thread 'ClientThread = New Thread(AddressOf New ThreadStart(AddressOf ClientThreadProcess(Client))) [Code] .....
Is it possible to create a WebBrowser control in a background thread in BackgroundWorker?
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork Using web1 As New WebBrowser[code].....
Does anyone know a way to create a background WebBrowser? I would like to do it to extract info from websites then spit out the various HTML DOM arrays
In one application, I need use 4 simultaneous threads.When the threads finished, I need to update the text of a TextBox.So, I create 4 Textbox, and I wanna the threads change the text to FINISHED.Each thread change one distinct TB.I use this "example"
Dim Terminados As Integer = 0 Private Sub frmEnviarMensagem_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Timer1.Enabled = True Timer1.Start()
[code]....
The problem is, I have an error in the red lines.The error is: INVALIDOPERATIONEXCEPTION "Cross-Thread operation not valid: Control tbPlaca1 Accessed from a thread other than the thread it was created on."I don't use cross threading. Each TB only was accessed for the correspondent thread, and for the "main program".
"Cross-thread operation not valid: Control 'Panel1' accessed from a thread other than the thread it was created on." The reason I am getting this error is because I am opening up a new form and then calling these three things:
Panel1.Show() Label1.Show() Label2.Show()
why I get this error message because it doesn't occur normally if I open Form2 after closing Form1, it only occurs when I open Form2 after closing Form4.
When my client try to connect to server I'm getting this error : Cross-thread operation not valid: Control 'l_users' accessed from a thread other than the thread it was created on.
Private Sub _socketManager_onConnectionAccept(ByVal SocketID As String) Handles _socketManager.onConnectionAccept l_Users.Items.Add(SocketID) End Sub
Would anyone be able to help me here please. I'm fairly new to VB.net and threading so im just trying to figure out what is happening.When I debug this I am getting the error thread operation not valid: Control 'ProgressBar1' accessed from a thread other than the thread it was created on.
I'm a little lost as to why the error is occuring or how to fix it. I've had to put the progress bar in a separate thread otherwise the GUI crashes
My understanding is that thread.join will suspend the execution of code on the calling thread until the spawned thread finishes or is aborted...
With that in mind, I tried this:
For i = 1 to 50 threads = New Thread(AddressOf test) threads.IsBackground = True threads.SetApartmentState(ApartmentState.STA)
[CODE]...
However, the rest of the code runs when the loop finishes, not waiting for all the spawned threads to finish. Since the rest of the code needs the threads to finish (otherwise the rest will error).
All the code i found for multi-threading is complex and not clear.What i want to do is creating a thread for reading and analyzing a big text file on Form_Load event, so that the form UI building continue without waiting for reading and analyzing the file finish.
I have written an application that loads a form - frmCad as well as AutoCad. It does this via a class which detects when AutoCad quits.
Friend Class CadApp Private WithEvents AppObject As AcadApplication... Private Sub AppObject_BeginQuit(ByRef Cancel As Boolean) Handles AppObject.BeginQuit RaiseEvent Quit() End SubEnd Class
My main class loads frmCad as well as CadApp.
Public Class Cad Private WithEvents frmCad As CadForm Private WithEvents app As CadApp... Public Sub ShowForm() If frmCad Is Nothing Then frmCad = New CadForm frmCad.Visible = True End Sub... Private Sub app_Quit() Handles app.Quit frmCad.Dispose() frmCad = Nothing .... End Sub
When I debug the program, it stops at frmCad.Dispose()The program continues to execute, but all the code after it fails to work.Looking more carefully I get an error message which contains:-Cross-thread operation not valid: Control 'Autocad' accessed from a thread other than the thread it was created on.
My error:Cross-thread operation not valid: Control 'label2' accessed from a thread other than the thread it was created on. I want to be able to give my Public RunBot() sub access to edit Labels, buttons, etc without an error.
My problem is Cross-thread operation not valid: Control 'statusHO' accessed from a thread other than the thread it was created on.
System.InvalidOperationException was unhandled Message="Cross-thread operation not valid: Control 'statusHO' accessed from a thread other than the thread it was created on." Source="System.Windows.Forms" StackTrace:
[Code]...
i used it and it works fine then. but as it is mentioned its not a good practice to use it. So what should i do? is it ok if i use this as i am not able to use correct practice. Mine application is not for enterprise purpose. its just my class project, and it works fine even if i put application working in background. System works ok. I dont know how to correct this error.As i dont have that much knowlege of threads.
So please guide me how to fix this in correct way otherwise i am force to go for bad programming practice Please refer to Windows Mobile Developer Center > Smart Device Development Forums > Windows Mobile Development > Appendtext not working for all my code details