Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2011, 12:33   #11
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

выложите весь необходимый код.
и ошибку то напишите.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.11.2011, 12:40   #12
m0dE^
Пользователь
 
Регистрация: 29.07.2009
Сообщений: 48
По умолчанию

Скопипастил ваш класс (без ошибок он), объявление списка с ошибкой:
Ошибка:

Error 1 Inconsistent accessibility: field type 'System.Collections.Generic.List<Ma inForm.MyICQ>' is less accessible than field 'MainForm.icqs'
http://fmbot.ru - ICQ-боты, ICQ-чаты, HTML редакторы, статьи и исходники по Delphi
m0dE^ вне форума Ответить с цитированием
Старый 01.11.2011, 12:45   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

эмм, обьявление класса то поместите до класса MainForm

Код:
class MyICQ
{
...
}

class MainForm
{

}
на будущее, пишите всегда сразу ошибки.

ну либо можно еще пометить public
public class MyICQ(я и забыл что можно вкладывать классы)
что тоже вариант.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.11.2011, 12:54   #14
m0dE^
Пользователь
 
Регистрация: 29.07.2009
Сообщений: 48
По умолчанию

Создал новый проект специально для проверки именно той проблемы, которая у меня и была. Вот такой код. После кода написаны ошибки.
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using vbicq4;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public class MyICQ
        {
            public delegate void OnErrDelegate(vbicq4.vbicq4 sender, string d);//не помню как верно это все обьявлять
            public OnErrDelegate OnError;

            public vbicq4.vbicq4 icq;
            private void ICQError(string errMsg)
            {
                OnError(icq, errMsg);
            }
            MyICQ()
            {
                icq = new vbicq4.vbicq4();
                icq.onError += onICQError;
            }
        }

        public static List<MyICQ> icqs = new List<MyICQ>();

        public void onICQError(vbicq4.vbicq4 sender, string errMsg)
        {
            this.Text = sender.UIN + ": " + errMsg;
        }


        private void button1_Click(object sender, EventArgs e)
        {
            MyICQ newICQ = new MyICQ();
            newICQ.icq.UIN = "uin1";
            newICQ.icq.pass = "password1";
            newICQ.icq.connect(vbicq4.vbicq4.ICQ_Status.FFC);
            icqs.Add(newICQ);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            MyICQ newICQ = new MyICQ();
            newICQ.icq.UIN = "uin2";
            newICQ.icq.pass = "password2";
            newICQ.icq.connect(vbicq4.vbicq4.ICQ_Status.FFC);
            icqs.Add(newICQ);
        }
    }
}
Error 2 'WindowsFormsApplication1.Form1.MyI CQ.MyICQ()' is inaccessible due to its protection level C:\Users\stasQa\AppData\Local\Tempo rary Projects\WindowsFormsApplication1\F orm1.cs 47 28 WindowsFormsApplication1

Error 3 'WindowsFormsApplication1.Form1.MyI CQ.MyICQ()' is inaccessible due to its protection level C:\Users\stasQa\AppData\Local\Tempo rary Projects\WindowsFormsApplication1\F orm1.cs 56 28 WindowsFormsApplication1

Error 4 A new expression requires (), [], or {} after type C:\Users\stasQa\AppData\Local\Tempo rary Projects\WindowsFormsApplication1\F orm1.cs 47 37 WindowsFormsApplication1

Error 1 No overload for 'onICQError' matches delegate 'vbicq4.vbicq4.onErrorEventHandler' C:\Users\stasQa\AppData\Local\Tempo rary Projects\WindowsFormsApplication1\F orm1.cs 33 32 WindowsFormsApplication1
http://fmbot.ru - ICQ-боты, ICQ-чаты, HTML редакторы, статьи и исходники по Delphi

Последний раз редактировалось m0dE^; 01.11.2011 в 12:59.
m0dE^ вне форума Ответить с цитированием
Старый 01.11.2011, 13:06   #15
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

два варианта, один это вложенный класс
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using vbicq4;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public class MyICQ
        {
            public delegate void OnErrDelegate(vbicq4.vbicq4 sender, string d);//не помню как верно это все обьявлять
            public OnErrDelegate OnError;

            public vbicq4.vbicq4 icq;
            private void ICQError(string errMsg)
            {
                OnError(icq, errMsg);
            }
            public MyICQ()//тут моя ошибка
            {
                icq = new vbicq4.vbicq4();
                icq.onError += ICQError;//тут не надо было исправлять.
            }
        }

        public static List<MyICQ> icqs = new List<MyICQ>();

        public void onICQError(vbicq4.vbicq4 sender, string errMsg)
        {
            this.Text = sender.UIN + ": " + errMsg;
        }


        private void button1_Click(object sender, EventArgs e)
        {
            MyICQ newICQ = new MyICQ;
            newICQ.icq.UIN = "uin1";
            newICQ.icq.pass = "password1";
            newICQ.OnError+=onICQError;
            newICQ.icq.connect(vbicq4.vbicq4.ICQ_Status.FFC);
            icqs.Add(newICQ);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            MyICQ newICQ = new MyICQ();
            newICQ.icq.UIN = "uin2";
            newICQ.icq.pass = "password2";
            newICQ.icq.connect(vbicq4.vbicq4.ICQ_Status.FFC);
            icqs.Add(newICQ);
        }
    }
}
второе более привычное:
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using vbicq4;

namespace WindowsFormsApplication1
{
    public class MyICQ
    {
        public delegate void OnErrDelegate(vbicq4.vbicq4 sender, string d);//не помню как верно это все обьявлять
        public OnErrDelegate OnError;

        public vbicq4.vbicq4 icq;
        private void ICQError(string errMsg)
        {
            OnError(icq, errMsg);
        }
        public MyICQ()//тут моя ошибка
        {
            icq = new vbicq4.vbicq4();
            icq.onError += ICQError;//тут не надо было исправлять.
        }
    }
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public static List<MyICQ> icqs = new List<MyICQ>();

        public void onICQError(vbicq4.vbicq4 sender, string errMsg)
        {
            this.Text = sender.UIN + ": " + errMsg;
        }


        private void button1_Click(object sender, EventArgs e)
        {
            MyICQ newICQ = new MyICQ;
            newICQ.icq.UIN = "uin1";
            newICQ.icq.pass = "password1";
            newICQ.OnError+=onICQError;
            newICQ.icq.connect(vbicq4.vbicq4.ICQ_Status.FFC);
            icqs.Add(newICQ);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            MyICQ newICQ = new MyICQ();
            newICQ.icq.UIN = "uin2";
            newICQ.icq.pass = "password2";
            newICQ.icq.connect(vbicq4.vbicq4.ICQ_Status.FFC);
            icqs.Add(newICQ);
        }
    }
}
поидее так все:
у меня просто нет vbicq4.vbicq4, чтоб проверить именно на этом.
да и нет возможности на практике все применить.

все пишу по знаниям.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.11.2011, 13:21   #16
m0dE^
Пользователь
 
Регистрация: 29.07.2009
Сообщений: 48
По умолчанию

Огромнейшее спасибо!
http://fmbot.ru - ICQ-боты, ICQ-чаты, HTML редакторы, статьи и исходники по Delphi
m0dE^ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как уничтожить объект в C# Никки Общие вопросы .NET 7 30.10.2014 23:54
Как обратиться к методу потомку ? [MI_nor] Общие вопросы по Java, Java SE, Kotlin 4 22.03.2011 08:13
Шаблоны - нужно создать объект класса abc в котором вместо aa использовался бы объект класса fff? Farrel Общие вопросы C/C++ 2 13.11.2010 17:37
Как узнать какому классу принадлежит объект? boris-blade Общие вопросы .NET 3 08.04.2010 01:08
Как узнать, создавался ли уже объект класса? TwiX Общие вопросы Delphi 4 06.10.2009 09:44