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"
حالا سوالم اينجاست ، چطور ميتونم اين خطا رو بطور كامل از بين ببرم ؟؟
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"
حالا سوالم اينجاست ، چطور ميتونم اين خطا رو بطور كامل از بين ببرم ؟؟