Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переменная изменяет значение сама по себе.. Использую Turbo C++ 
V
    Опции темы
Den64
  Дата 6.1.2009, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Использую Turbo C++. Проблема: после выполнения строки SQL->Active = true; само по себе меняется поле  stage. Было "" стало "тЛ".
stage объявляю так:
Код

  class ColStr
{
  public:
    // другие поля
    char stage[1024];
    void Clear(void)
    {
        *stage = 0;
    };
    // метод //(чтоб назагромождать)
    ColStr(void)
    {
        Clear();
    }
};

class SelectQuery
{
  public:

    ColStr FindCol;
};

void __fastcall TMainForm::FormCreate(TObject *Sender)
{
    SelectQuery _MyObj;
    MyObj = &_MyObj;
}
 

Бажная функция:
Код

void __fastcall TMainForm::N18Click(TObject *Sender)
{
    // Sort by FIO
    strcpy(MyObj->OrderStr, "ORDER BY ФИО");
    SQL->SQL->SetText(MyObj->GetQuestion());
    SQL->Active = true;
}
 
Сначала так:
user posted image
Жму F8, и вот так!:
user posted image

Подскажите в чём может быть проблема?

--------------------
Инагда пишу звуками.
PM WWW ICQ   Вверх
TiKKi
Дата 7.1.2009, 03:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Den64 @ 6.1.2009,  23:01)
Код

void __fastcall TMainForm::FormCreate(TObject *Sender)
{
    SelectQuery _MyObj;
    MyObj = &_MyObj;
}

Область видимости для _MyObj ограничивается методом FormCreate.


PM   Вверх
Den64
Дата 7.1.2009, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Пределал так:

Код

void __fastcall TMainForm::FormCreate(TObject *Sender)
{
    MyObj = new SelectQuery;
}


Блольше таких проблем не возникает.. Наверно были проблемы с выделением памяти..

Это сообщение отредактировал(а) Den64 - 7.1.2009, 21:18
--------------------
Инагда пишу звуками.
PM WWW ICQ   Вверх
TiKKi
Дата 8.1.2009, 04:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Den64 @ 7.1.2009,  21:13)
Наверно были проблемы с выделением памяти..

Конечно были! Я же написал про область видимости.
Код

void __fastcall TMainForm::FormCreate(TObject *Sender)
{
    SelectQuery _MyObj;
    MyObj = &_MyObj;
}

 _MyObj локальная переменная в методе FormCreate. Метод завершился, переменная убилась, а указатель остался и указывает он теперь на не существующую переменную. 
PM   Вверх
Den64
Дата 8.1.2009, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(TiKKi @  8.1.2009,  04:06 Найти цитируемый пост)
 _MyObj локальная переменная в методе FormCreate. Метод завершился, переменная убилась, а указатель остался и указывает он теперь на не существующую переменную. 

Спасибо, догнал..
--------------------
Инагда пишу звуками.
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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