Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибочка при закрытии формы, Не могу понять, в чем причина 
V
    Опции темы
CYBERDREAM
Дата 24.10.2007, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



Приветствую Народ.
Не пойму от чего возникла ошибка, но факт остается фактом.
Если я открываю некоторое окно из текущего через:
Код

ShowDialog()

все пашет нормально, за исключением того, что когда я закрываю его, появлется ошибочка. Н
user posted image
трай кэтчи ничего не отлавливают
Код

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using MySql.Data.MySqlClient;
......

    private void but_add_Click(object sender, System.EventArgs e)
    {
        try
        {
            Add_TK1 isa=new Add_TK1(this.tb_invoice.Text);
            isa.TopMost=true;
            isa.ShowDialog();        //вот самое и оно
        }
        catch(System.Runtime.InteropServices.SEHException ex)
        {
            MessageBox.Show(ex.Message,"1st");
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message,"2nd");
        }
}


Если заменить isa.ShowDialog(); на Show() проблема исчезает, но хотелось бы исправить эту ошибочку...
Что может вообще в принципе на это повлиять?


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
Walker
Дата 24.10.2007, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 363
Регистрация: 23.10.2006

Репутация: 5
Всего: 16



Вроде никакого криминала не наблюдается. В VS работаете? Если запустить по F5, в каком месте вывалится?


--------------------
"От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..."
PM MAIL   Вверх
fantast
Дата 24.10.2007, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 10.12.2006
Где: минск, столица на шей Родины

Репутация: нет
Всего: 2



мне кажеться что ошибка не здесь, а в твоей форме 'Add_TK1'. 
посмотри по коду по-лучше и не забывай, что метод show() не возвращает результат, в отличии от showDialog(),
 возможно проблема  в этом
--------------------
Эпитафия: Он старался.                                   Неизвестный
PM MAIL   Вверх
CYBERDREAM
Дата 24.10.2007, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



Ошибка не в форме 'Add_TK1, при закрытии абсолютно голых форм, та же история. 
А валится именно когда закрываю форму.


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
Retro
Дата 24.10.2007, 14:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Диалектик
***


Профиль
Группа: Участник Клуба
Сообщений: 1934
Регистрация: 28.6.2005
Где: Киев

Репутация: 9
Всего: 117



Картинку с ошибкой не видно.
PM MAIL   Вверх
CYBERDREAM
Дата 24.10.2007, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



Увы загрузить сюда не могу, у меня аплоад тупит на этом месте


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
ivashkanet
Дата 24.10.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



CYBERDREAM, напиши буккофками ;-)
PM MAIL WWW ICQ   Вверх
CYBERDREAM
Дата 24.10.2007, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



Приветствую ivashkanet. Давненько тебя не видно. Вроде получилось загрузить  smile 

Это сообщение отредактировал(а) CYBERDREAM - 24.10.2007, 15:05

Присоединённый файл ( Кол-во скачиваний: 17 )
Присоединённый файл  err.jpg 20,25 Kb


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
fantast
Дата 24.10.2007, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 10.12.2006
Где: минск, столица на шей Родины

Репутация: нет
Всего: 2



а ты еще ченить напиши после своего showDialog, чтоб было видно валиться апликация при выходе из  'Add_TK1' или после этого.
messagebox там какой поставь, мне аж самому интересно стало 8)
--------------------
Эпитафия: Он старался.                                   Неизвестный
PM MAIL   Вверх
CYBERDREAM
Дата 24.10.2007, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



Прописал
Код

                MessageBox.Show("well done");

Успешно выдало сообщение, после чего та же история.

Привожу полный код программки:
Код

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using MySql.Data.MySqlClient;

namespace RFID_prj
{
    /// <summary>
    /// Summary description for ship_invoice.
    /// </summary>
    public class ship_invoice : System.Windows.Forms.Form
    {
        public DataTable dtable;
        /// <summary>
        /// № паллеты по накладноя для отгрузки
        /// </summary>
        public static int _pallet_count=1;
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;

        public ship_invoice(string invoice)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();
            this.tb_invoice.Text=invoice;
            //
            // TODO: Add any constructor code after InitializeComponent call
            //
        }

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose( bool disposing )
        {
            if( disposing )
            {
                if(components != null)
                {
                    components.Dispose();
                }
            }
            base.Dispose( disposing );
        }

        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
        }
        #endregion

        private void ship_invoice_Load(object sender, System.EventArgs e)
        {
            dtable=new DataTable("names");
            dtable.Columns.Add("dot",typeof(System.String));
            dtable.Columns.Add("name",typeof(System.String));
            dtable.Columns.Add("amount",typeof(System.String));
            dtable.Columns.Add("amountfact36",typeof(System.String));
            dtable.Columns.Add("amountfact56",typeof(System.String));
            dtable.Columns.Add("stat",typeof(System.String));
            
            DataSet ds=new DataSet();
            ds.Tables.Add(dtable);
            dg.SetDataBinding(ds,"names");    

            AddTableStyle();
            AddData();
        }
        private void AddTableStyle()
        {
            DataGridTableStyle dgts=new DataGridTableStyle();
            dgts.MappingName="names";
            dgts.AllowSorting=false;

            DataGridTextBoxColumn db=new DataGridTextBoxColumn();
            dgts.RowHeadersVisible=false;
            db.MappingName="dot";
            db.Alignment=HorizontalAlignment.Center;
            db.HeaderText="№ паллеты";
            db.Width=80;
            dgts.GridColumnStyles.Add(db);

            db=new DataGridTextBoxColumn();
            db.MappingName="name";
            db.HeaderText="Наименование продукции";
            db.Alignment=HorizontalAlignment.Center;
            db.Width=300;
            dgts.GridColumnStyles.Add(db);

            db=new DataGridTextBoxColumn();
            db.MappingName="amount";
            db.HeaderText="Количество";
            db.Width=125;
            db.Alignment=HorizontalAlignment.Center;
            dgts.GridColumnStyles.Add(db);

            ColoredTextBoxColumn coloredColumn1 = new ColoredTextBoxColumn();   
            coloredColumn1.MappingName = "amountfact36";   
            coloredColumn1.HeaderText = "";  
            coloredColumn1.Width=0;
            coloredColumn1.Alignment=HorizontalAlignment.Center;
            coloredColumn1.NeedBackground += new ColoredTextBoxColumn.NeedBackgroundEventHandler(OnNeedBackround_fact);   
            dgts.GridColumnStyles.Add(coloredColumn1);

            coloredColumn1 = new ColoredTextBoxColumn();   
            coloredColumn1.MappingName = "amountfact56";   
            coloredColumn1.HeaderText = "";  
            coloredColumn1.Width=0;
            coloredColumn1.Alignment=HorizontalAlignment.Center;
            coloredColumn1.NeedBackground += new ColoredTextBoxColumn.NeedBackgroundEventHandler(OnNeedBackround_fact);   
            dgts.GridColumnStyles.Add(coloredColumn1);            
            
            ColoredTextBoxColumn coloredColumn = new ColoredTextBoxColumn();   
            coloredColumn.MappingName = "stat";   
            coloredColumn.HeaderText = "";  
            coloredColumn.Width=0;
            coloredColumn.Alignment=HorizontalAlignment.Center;
            coloredColumn.NeedBackground += new ColoredTextBoxColumn.NeedBackgroundEventHandler(OnNeedBackround);   
            DataGridTableStyle tableStyle = new DataGridTableStyle();
            dgts.GridColumnStyles.Add(coloredColumn);

            dg.TableStyles.Add(dgts);
        }
        private void AddData()
        {
            dtable.Clear();
            MySql.Data.MySqlClient.MySqlCommand cmd=new MySql.Data.MySqlClient.MySqlCommand("SELECT pallet,count(*),invoice2_mas.series,max(numfrom),max(numtill) from invoice2_mas left join tagstate on invoice2_mas.UID=tagstate.UID where invoice='new' group by pallet",LogIn.conn);
            MySqlDataReader reader=null;
            try
            {
                reader=cmd.ExecuteReader();
                while(reader.Read())
                {
                    DataRow drow=dtable.NewRow();
                    drow[0]=reader.GetString(0);
                    drow[1]="Трудовые книжки";
                    drow[2]=reader.GetString(1);
                    dtable.Rows.Add(drow);

                    drow=dtable.NewRow();
                    drow[0]="";
                    drow[1]="Серия "+reader.GetString(2)+" № с "+reader.GetString(3)+" по "+reader.GetString(4);
                    drow[2]=Convert.ToString(reader.GetInt32(1)*250);
                    dtable.Rows.Add(drow);
                }
            }
            catch(MySqlException ex)
            {
                MessageBox.Show("Произошла ошибка при заполнении данных по текущей накладной.\nКод Ошибки:\n"+ex.Message);
            }
            catch(Exception ex)
            {
                MessageBox.Show("Произошла ошибка при заполнении данных по текущей накладной.\nКод Ошибки:\n"+ex.Message);
            }
            finally
            {
                if(reader!=null)
                    reader.Close();
            }

        }
        void OnNeedBackround(object sender,   ColoredTextBoxColumn.NeedBackgroundEventArgs e)  
        {            
            switch((string)dg[e.RowNum,5])
            {
                case "комплект":
                {
                    e.Brush=new SolidBrush(Color.SpringGreen);
                    break;
                }
                case "нет комплекта...":
                {
                    e.Brush=new SolidBrush(Color.Tomato);
                    break;
                }
                default:
                {
                    e.Brush=new SolidBrush(Color.White);
                    break;
                }
            }
        }
        /// <summary>
        /// Разрисовка ячеек для количества считанных меток
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void OnNeedBackround_fact(object sender,   ColoredTextBoxColumn.NeedBackgroundEventArgs e)  
        {            
            switch((string)dg[e.RowNum,4])
            {
                case "нет комплекта...":
                {
                    e.Brush=new SolidBrush(Color.Red);
                    break;
                }
                default:
                {
                    e.Brush=new SolidBrush(Color.White);
                    break;
                }
            }
        }

        private void but_add_Click(object sender, System.EventArgs e)
        {
            try
            {
                Add_TK1 isa=new Add_TK1(this.tb_invoice.Text);
                isa.TopMost=true;
                isa.ShowDialog();
                MessageBox.Show("well done");
            }
            catch(System.Runtime.InteropServices.SEHException ex)
            {
                MessageBox.Show(ex.Message,"1st");
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message,"2nd");
            }
        }
    }
}



--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
ivashkanet
Дата 24.10.2007, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



CYBERDREAM, очень странная ошибка. 
MS советует приготовьтесь... вдохнули побольше... использовать Show вместо ShowDialog  smile  smile 

Там же написано, что можно до запуска первой формы запустить Application.EnableVisualStyles(), добавить файл манифеста и прописывания его в ресурсы (почитаешь сам). 

Люди говорят, что помогает.

Добавлено через 1 минуту и 21 секунду
кстати, это лаг вижуал барсика... Странно  smile

Добавлено через 3 минуты и 42 секунды
И еще (у чела тоже C#): 
Цитата
I started a separate thread, then created the offending dialog and ran dialog.ShowDialog() , the problem would not happen anymore.

Но создавать для этого другой поток это изврат 
PM MAIL WWW ICQ   Вверх
CYBERDREAM
Дата 24.10.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



Thx ivashkanet за верное решение. 
Код

catch
{
  +
}

P.S. убрал  Application.EnableVisualStyles() и все заработала, хотя добавил сам когда то, видать от нечего делать.  smile 


Это сообщение отредактировал(а) CYBERDREAM - 24.10.2007, 15:50


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
ivashkanet
Дата 24.10.2007, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(CYBERDREAM @  24.10.2007,  15:50 Найти цитируемый пост)
 Application.EnableVisualStyles() 

У меня это автоматом добавляется, а ошибки нет. В общем это был баг и хорошо, что ты его обошел ;-)
PM MAIL WWW ICQ   Вверх
CYBERDREAM
Дата 24.10.2007, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



Если не ошибаюсь в 2005 то сам, а я сейчас на 2003 домучиваю проектик, а в нем вручную. После 2005 жуть как неприятно возвращаться к 2003, но как говорят французы: C est la vie. 
Хотя на по ссылочке, что ты мне дал, там пишется что 2005, а в 2003 не нашли таковой?


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
ivashkanet
Дата 24.10.2007, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(http://support.microsoft.com/kb/897298)

APPLIES TO
•    Microsoft Visual Basic 2005
•    Microsoft Visual Basic .NET 2003 Standard Edition
•    Microsoft Visual Basic .NET 2002 Standard Edition

PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0641 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.