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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> прога выдает ошибку =(, в visual c++ 
:(
    Опции темы
QuiZZeS
Дата 14.4.2009, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код
void LoadFromFile(String ^File)
            {
                String ^d,^z,^b=File::ReadAllText(File);
                while(b->Length>0)
                    {
                        int i=b->IndexOf("/");
                        d=b->Substring(0,i); textBox2->Text=b;
                        while (d->Length>0)
                            {
                                int in=0,j=d->IndexOf(";");
                                in=in+1;
                                TextBox^ p = (TextBox^)this->Controls["textBox"+in.ToString()];
                                z=d->Substring(0,j);
                                p->Text=z; // здесь выдает ошибку "В экземпляре объекта не задана ссылка на объект"
                                d=d->Substring(j+1);
                            }
                        b=b->Substring(i+1);
                        
                    }
                }


Это сообщение отредактировал(а) bsa - 14.4.2009, 17:31
PM MAIL   Вверх
QuiZZeS
Дата 14.4.2009, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



нашел это:
При запуске приложения появляется следующее сообщение об ошибке:System.NullReferenceException: В экземпляре объекта не задана ссылка на объект.
System.NullReferenceException: В экземпляре объекта не задана ссылка на объект.
Такое сообщение может появляться в том случае, если функция объявлена неправильно. Оно обычно появляется, когда параметры функции объявлены по значению, а не по ссылке.
обьясните =(
PM MAIL   Вверх
Albor
Дата 14.4.2009, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В VС нет такого синтаксиса. Упс. Это на C#? А в названии темы С++. Проверь чему равно j. Может в тексте нет ";".

Это сообщение отредактировал(а) Albor - 14.4.2009, 09:50
PM MAIL ICQ   Вверх
QuiZZeS
Дата 14.4.2009, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



это Visual C++ 2008 =)
windows form application
PM MAIL   Вверх
Albor
Дата 14.4.2009, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(QuiZZeS @  14.4.2009,  08:48 Найти цитируемый пост)
это Visual C++ 2008 =)
windows form application 

Я с этим не работал, поэтому не знаю. Но возможную причину указал выше.

Это сообщение отредактировал(а) Albor - 14.4.2009, 09:54
PM MAIL ICQ   Вверх
cutwater
Дата 14.4.2009, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Это не совсем С++ к Вашему сведению. А собственно С++/CLI


--------------------
user posted image
PM MAIL   Вверх
shuttle
Дата 14.4.2009, 10:18 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



если точнее то CLR
--------------------
PM MAIL   Вверх
Cheloveck
Дата 14.4.2009, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

TextBox^ p = (TextBox^)this->Controls["textBox"+in.ToString()];

 smile что это за маразм? Если дотНЕТ и допускает такое, то я бы всеми фибрами души и клетками мозга воспротивился такому подходу. Положи все свои текстбоксы в массив и перебирай по человечески.

З.Ы. Код в форуме пиши в теге "код".


--------------------
user posted image
PM Jabber   Вверх
xvr
Дата 14.4.2009, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Похоже у тебя p NULL. Видимо не нашелся соотвествующий контрол "textBox"+in.ToString(). Проверь, чему равен i на момент слома.

PM MAIL   Вверх
QuiZZeS
Дата 14.4.2009, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а как сделать чтобы некоторое количесто textBox'ов воспринимались как массив
например чтобы запустить цикл а он бы 
textBox1->Text=z;
textBox2->text=z;
....
textBox20->text=z;

Это сообщение отредактировал(а) QuiZZeS - 14.4.2009, 11:56
PM MAIL   Вверх
Cheloveck
Дата 14.4.2009, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

а как сделать чтобы некоторое количесто textBox'ов воспринимались как массив

Код

TextBox ^ textBoxArray[3];
TextBox ^textBox1 = gcnew TextBox(); // кажется так в дотНЕТе.
TextBox ^textBox2 = gcnew TextBox(); 
textBoxArray[0] = textBox1;
textBoxArray[1] = textBox2;
// или даже так.
textBoxArray[2]  = gcnew TextBox();

Зато потом ты просто пишешь
Код

for(int i = 0; i < 3; i++)
{
    // ...
    textBoxArray[i]->Text = z;
}

Примерно так...


--------------------
user posted image
PM Jabber   Вверх
Gluttton
Дата 14.4.2009, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


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

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



Цитата

а как сделать чтобы некоторое количесто textBox'ов воспринимались как массив


MSDN

В твоем случае по-моему будет так:

Код

array<TextBox^>^ tbArray=gcnew array<TestBox^>^;







--------------------
Слава Україні!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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