Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
401 / 312 / 74
Регистрация: 17.03.2010
Сообщений: 1,120
1

Странное поведение!

22.09.2012, 19:46. Просмотров 744. Ответов 5
Метки нет (Все метки)

Доброго времени суток!

На лицо странное (на мой взгляд) поведение С++ Builder 6.
Итак код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
String TBlockScheme::FigureCode(TPoint MousePos){
  int X = 0, Y = 0;
 
  X = MousePos.x + FormMain->Left;
  Y = MousePos.y + FormMain->Top;
 
  FormCode->Left = X;
  FormCode->Top  = Y;
  FormCode->ShowModal();
 
  if (FormCode->Tag == 1)
    return FormCode->MemoCode->Text;
  else
    return "";
}
На скрине видны значения переменных.
Фактически
C++
1
X = MousePos.x + FormMain->Left;
Должно быть
X = 151 + 105, т.е. 256 , а не 4216919.

Не понятно мне почему так получается!
0
Миниатюры
Странное поведение!  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2012, 19:46
Ответы с готовыми решениями:

Странное поведение окон
Здравствуйте! Демка с комментами Суть. Мне нужно создать независимое окно с отдельной...

Странное поведение UnicodeString.
С некоторого момента UnicodeString без особых на то причин начала вести себя странно. Variang...

Странное поведение Builder XE
Добрый день! При работе программы возникает ошибка типа acces violation в след куске кода: for...

Странное поведение XE2
Как такое возможно(скриншот). И еще замечаю - не всегда происходит присваивание значений переменным.

5
401 / 312 / 74
Регистрация: 17.03.2010
Сообщений: 1,120
22.09.2012, 20:03  [ТС] 2
Не понятно мне совсем!
C++
1
X = FormMain->Left;
В отладчике после прохода строки: Left = 305, а X = 4216988.
ИМХО что то с адресацией, вот, что?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
29947 / 19690 / 7699
Регистрация: 22.10.2011
Сообщений: 34,327
Записей в блоге: 6
22.09.2012, 20:22 3
Оптимизатор включен? Попробуй отключить, посмотри, что будет.
0
1112 / 789 / 100
Регистрация: 01.02.2011
Сообщений: 1,829
Записей в блоге: 1
22.09.2012, 20:36 4
Тоже была подобная проблема. Лечил пересозданием проекта.
0
401 / 312 / 74
Регистрация: 17.03.2010
Сообщений: 1,120
22.09.2012, 22:42  [ТС] 5
У меня обстановка такая:
Есть некий модуль (*.cpp)...в нем объявлен и реализован некий класс.
К этому модулю подключается модуль формы #include "xxx.h"...и используется переменная формы из подключенного модуля.
Если проделывать подобные операции в модуле (и классе) формы, то все ок, ну, это и логично.
А вот из другого класса, приводит к таким результатам.
0
434 / 401 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
23.09.2012, 04:43 6
А если взять переменную с другим именем не Х, а например Х5664, ошибка повторится?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2012, 04:43

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Classic Bluetooth странное поведение сокета
Доброго времени суток ! Пытаюсь подружить устройство на stm32+CH-06 с компом Использую...

Странное поведение char при выводе в Edit
void __fastcall TForm1::Edit2Change(TObject *Sender) { char s; AnsiString s1; if(Edit2->Text !=...

Странное поведение курсора при расвертывании ComboBox
делаю выпадающий список, но странное поведение заметил когда я его раскрываю ComboBox1->DroppedDown...

Странное поведение строковых переменных (меняются с того ни с сего)
Код такой: UnicodeString gorod; // глобальная void __fastcall...

Странное поведение new
Объясните почему оператор new выделяет неверное количество памяти? # include <iostream> using...

странное поведение Qt
до сих пор ковыряюсь с установкой qt в винде, поставил в XP, всё работает, всё компилится, всё...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.