TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Rahul Jain
NA
2
0
STA and MTA join
Jan 19 2009 5:54 AM
HI Friends,
I am facing a problem while joining a STA thread to MTA thread. Actually the requirement was some thing like describe below.
1. I have a exe which is using some dialog boxes.
2. These dialog boxes are using MSFlexGrid. This component is a Com component.
3.so in order to run it with Vb.Net exe i had to run this dialog box in a STA thread.
4. to achive this i created a new thread and set the Apartment status STA.
5.it was working fine when i run the code. but if click on exe than at the time of join it throws an unhandled exception.if i click on continue button of exception dialog box it runs successfully. how ever i can not ignore this exception.
6. exception contains below text (i know its a bog message but i am stuck here for last couple of days.).
************** Exception Text **************
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at MSFlexGridLib.IMSFlexGrid.get_Text()
at AxMSFlexGridLib.AxMSFlexGrid.get_Text()
at System.Windows.Forms.Control.OnHandleDestroyed(EventArgs e)
at System.Windows.Forms.AxHost.DetachWindow()
at System.Windows.Forms.AxHost.DetachAndForward(Message& m)
at System.Windows.Forms.AxHost.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
7. COde snippet is like below.
Dim paramtThread As New Threading.ParameterizedThreadStart(AddressOf DelgInvoke)
Dim exeThread As New Threading.Thread(paramtThread)
exeThread.SetApartmentState(Threading.ApartmentState.STA)
exeThread.Start(mbrs)// mbrs is a structure variable.
exeThread.Join()
Please let me know if any one have any idea. i am totaly clueless here. it would be a great help.
Regards,
Rahul
Reply
Answers (
0
)
Multithread unable to get updated textbox value.