PDA

نسخه کامل مشاهده نسخه کامل : خطا -> Current thread must be set to single thread apartment (STA) mode before OLE...



bad_boy_2007
22-03-2009, 23:09
تازگي يك مشكل عجيب واسم پيش اومده كه در نتيجه كامپوننت كردن برنامم بوجود آمده ، مشكل از اين قراره كه قبلا فرمهام بخوبي كار مبكرده و مشكلي هم نداشته ولي زماني كه فرمها رو DLL كردم تو دو تا از DLL ها زماني كه يك فرم از DLL ام رو New ميكنم به مشكل زير بر ميخورم :

Current thread must be set to single thread apartment (STA) mode before OLE calls can be made. Ensure that your Main function has STAThreadAttribute marked on it
يكمي كه برسي كردم ديدم مشكل از تابع InitializeComponent بوجود اومده ، با توجه به اينكه امكان چك Step by step در اين تابع وجود نداشت (دليلش رو هنوز هم نفهميدم) براي گروهي از دستوراتم بلوك Try Catch نوشتم تا متوجه شدم خطا ناشي از قطعه كديه كه كمبو باكس رو ايجاد ميكنه !
اين هم كدهاي مربوط به كمبو كه باعث خطاي فوق شده :



Me.CMBCheckSHBank.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.None
Me.CMBCheckSHBank.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems
Me.CMBCheckSHBank.DisplayMember = "id"
Me.CMBCheckSHBank.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.CMBCheckSHBank.FormattingEnabled = True
Me.CMBCheckSHBank.Location = New System.Drawing.Point(191, 6)
Me.CMBCheckSHBank.Name = "CMBCheckSHBank"
Me.CMBCheckSHBank.Size = New System.Drawing.Size(316, 21)
Me.CMBCheckSHBank.TabIndex = 0
Me.CMBCheckSHBank.ValueMember = "id"

حالا سوالم اينجاست ، چطور ميتونم اين خطا رو بطور كامل از بين ببرم ؟؟

bad_boy_2007
22-03-2009, 23:49
مشكل من كماكان وجود داره
زماني كه حتي دستي تو كدهاي برنامم مينويسم :
CMBCheckMSerial.AutoCompleteMode = AutoCompleteMode.Suggest

باز هم با همون خطا مواجه ميشم !

bad_boy_2007
24-03-2009, 09:39
سلام دوستان
هیچکی نیست کمک کنه !!!
ببینید مشکل من تو ویژگی AutoComplete مربوط به ComboBox هست که زمانی که به Seggest تغییر میکنه این مشکل به وجود میاد از کد زیر برای باز کردن فرمی که مولد خطا است استفاده کردم :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

مشکل رفع شد فقط زمانی که زبان کیبورد رو فارسی میکنم برنامه بدون هیچگونه Error یا Exception ای هنگ میکنه و ...

حالا نمیدونم با این یکی چیکار کنم ؟!

bad_boy_2007
24-03-2009, 10:00
زدم پیش از نمایش فرمم تو Thread کیبورد فارسی رو لود کنه و سرچ فارسی هم درست شد و هر وقت هم که کیبورد لاتین میشه سرچ لاتین درست انجام میشه ولی زمانی که دوباره کیبورد فارسی میشه فرمم هنگ میکنه !
مشکل عجیبیه ! کسی راه حل داره ؟