Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216

Отладка, что с ней делать

05.02.2013, 23:46. Показов 1428. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток.... Столкнулся с такой проблемой:
Был полностью работающий проект, без каких либо ошибок, написанный в C++ builder 6... Ради интереса установил c++ builder 2010, залил в него нужные объекты, запустил, программа работает до определенного момента и затем вылетает окно отладки CPU.... Ничего не сохранял, закрыл, запустил в 6 билдере и получил аналогичную картину, если в процессе отладки тыкать на запуск проекта, то все будет работать как надо, но вот в чем само дело, собранный экзешник отказывается работать... В чем может быть дело ? Спасайте, работа встала... Уже все что мог облазил, не получается исправить...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.02.2013, 23:46
Ответы с готовыми решениями:

Ошибка 7000 что с ней делать
материнка у меня ASRock M3A770DE

Ошибка 800А0005, и что с ней делать
Помогите решить ;) ВЫКИДИВАЕТСЯ ОШИБКА С КОДОМ 800А00005. По аркументу right. НО ТОЛЬКО В ЧЕМ ПРОБЛЕМА. ---------- часть программы...

Одинарная кавычка в URL, что с ней делать?
<input type='hidden' name='test' value=$str> Если $str содержит одинарные кавычки, то переданная в запросе $str обрубается по первое...

12
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
05.02.2013, 23:49
Где код ?

Дистанционно магическими пассами порчу с отладчиков не снимаем...
0
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
05.02.2013, 23:50  [ТС]
Код вообще не изменялся... в программе около 1000 строк... она лишь была открыта в новом билдере...

Может быть установка нового билдера сбила что ?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
05.02.2013, 23:53
Нет уверенности что код был изначально рабочий, если кода нет тут

Создайте новый проект и последовательно добавляйте логические части кода в проект и запускайте - так скорее всего и найдете место ошибки...
0
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
05.02.2013, 23:56  [ТС]
Место ошибки я нашел так то, но я не понимаю что не верно.... Кусок кода переходит на новый лист в экселе и рисует в нем таблицу... При переходе на новый лист и вылетает отладчик... Раньше все работало, я просто не знаю что не так... Собственно вот эта функция:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
void excel_write_tables_users(){
 for(int i=2;i<=(p);i++){
       Book   = Books.OlePropertyGet("Item",1);
       Sheets = Book.OlePropertyGet("Worksheets");
       Sheet  = Sheets.OlePropertyGet("Item",i);
       Sheet.OleProcedure("Activate");
       Sheet.OlePropertyGet("Columns").OlePropertyGet("Item",1).OlePropertySet("ColumnWidth", 11);  //ширина A
       Sheet.OlePropertyGet("Columns").OlePropertyGet("Item",2).OlePropertySet("ColumnWidth", 15); //B
       Sheet.OlePropertyGet("Columns").OlePropertyGet("Item",3).OlePropertySet("ColumnWidth", 11); //B
       Sheet.OlePropertyGet("Columns").OlePropertyGet("Item",5).OlePropertySet("ColumnWidth", 12);  //ширина A
       Sheet.OlePropertyGet("Columns").OlePropertyGet("Item",6).OlePropertySet("ColumnWidth", 14); //B
       Sheet.OlePropertyGet("Columns").OlePropertyGet("Item",7).OlePropertySet("ColumnWidth", 10); //B
       range = App.OlePropertyGet("Range","A2:B2");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
        range = App.OlePropertyGet("Range","C2:E2");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
       range = App.OlePropertyGet("Range","F2");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
      range = App.OlePropertyGet("Range","G2");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
       range = App.OlePropertyGet("Range","A3:C4");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
      range = App.OlePropertyGet("Range","D3:D8");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
     range = App.OlePropertyGet("Range","E3:G4");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
     range = App.OlePropertyGet("Range","A5:A6");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
    range = App.OlePropertyGet("Range","B5:B6");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
    range = App.OlePropertyGet("Range","C5:C6");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
    range = App.OlePropertyGet("Range","E5:E6");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
    range = App.OlePropertyGet("Range","G5:G6");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
    range = App.OlePropertyGet("Range","F5:F6");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
  range = App.OlePropertyGet("Range","A7");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
    range = App.OlePropertyGet("Range","B7");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
    range = App.OlePropertyGet("Range","C7");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
    range = App.OlePropertyGet("Range","E7");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
    range = App.OlePropertyGet("Range","G7");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
    range = App.OlePropertyGet("Range","F7");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
      range = App.OlePropertyGet("Range","B8:C8");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
      range = App.OlePropertyGet("Range","A8");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
       range = App.OlePropertyGet("Range","F8:G8");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
       range = App.OlePropertyGet("Range","E8");range.OleProcedure("Merge");
        for (int i=1; i<=4; i++)
        range.OlePropertyGet("Borders").OlePropertyGet("Item", i).OlePropertySet("LineStyle", 1);
      cur = Sheet.OlePropertyGet("Cells", 3,1);
      cur.OlePropertySet("HorizontalAlignment",3);
      cur.OlePropertySet("VerticalAlignment",2);
      cur.OlePropertySet("Value", "Горячая вода");
       cur = Sheet.OlePropertyGet("Cells", 3,5);
      cur.OlePropertySet("HorizontalAlignment",3);
      cur.OlePropertySet("VerticalAlignment",2);
      cur.OlePropertySet("Value", "Холодная вода");
     cur = Sheet.OlePropertyGet("Cells", 5,1);
      cur.OlePropertySet("VerticalAlignment",4);
      cur.OlePropertySet("Value", "Текущие показания");
       cur = Sheet.OlePropertyGet("Cells", 5,2);
      cur.OlePropertySet("VerticalAlignment",4);
      cur.OlePropertySet("Value", "Фактическое потребление");
       cur = Sheet.OlePropertyGet("Cells", 5,3);
      cur.OlePropertySet("VerticalAlignment",4);
      cur.OlePropertySet("Value", "Цена 1куб метра");
   cur = Sheet.OlePropertyGet("Cells", 5,5);
      cur.OlePropertySet("VerticalAlignment",4);
      cur.OlePropertySet("Value", "Текущие показания");
       cur = Sheet.OlePropertyGet("Cells", 5,6);
      cur.OlePropertySet("VerticalAlignment",4);
      cur.OlePropertySet("Value", "Фактическое потребление");
       cur = Sheet.OlePropertyGet("Cells", 5,7);
      cur.OlePropertySet("VerticalAlignment",4);
      cur.OlePropertySet("Value", "Цена 1куб метра");
       cur = Sheet.OlePropertyGet("Cells", 8,1);
      cur.OlePropertySet("VerticalAlignment",4);
      cur.OlePropertySet("Value", "Итого:");
       cur = Sheet.OlePropertyGet("Cells", 8,5);
      cur.OlePropertySet("VerticalAlignment",4);
      cur.OlePropertySet("Value", "Итого:");
      cur = Sheet.OlePropertyGet("Cells", 2,1);
      cur.OlePropertySet("Value",("=Лист1!B"+AnsiString(i+5)).c_str());
      cur = Sheet.OlePropertyGet("Cells", 2,3);
      cur.OlePropertySet("Value","=Лист1!B2");
      cur = Sheet.OlePropertyGet("Cells", 2,6);
      cur.OlePropertySet("Value","Квартира:");
       cur = Sheet.OlePropertyGet("Cells", 2,7);
      cur.OlePropertySet("Value",("=Лист1!C"+AnsiString(i+5)).c_str());
      cur = Sheet.OlePropertyGet("Cells", 7,1);
      cur.OlePropertySet("Value",("=Лист1!D"+AnsiString(i+5)).c_str());
      cur = Sheet.OlePropertyGet("Cells", 7,2);
      cur.OlePropertySet("Value",("=Лист1!E"+AnsiString(i+5)).c_str());
      cur = Sheet.OlePropertyGet("Cells", 7,3);
      cur.OlePropertySet("Value","=Лист1!F3");
      cur = Sheet.OlePropertyGet("Cells", 8,2);
      cur.OlePropertySet("Value",("=Лист1!F"+AnsiString(i+5)).c_str());
      cur = Sheet.OlePropertyGet("Cells", 7,5);
      cur.OlePropertySet("Value",("=Лист1!G"+AnsiString(i+5)).c_str());
      cur = Sheet.OlePropertyGet("Cells", 7,6);
      cur.OlePropertySet("Value",("=Лист1!H"+AnsiString(i+5)).c_str());
      cur = Sheet.OlePropertyGet("Cells", 8,6);
      cur.OlePropertySet("Value",("=Лист1!I"+AnsiString(i+5)).c_str());
     }
       Sheet  = Sheets.OlePropertyGet("Item",1);
       Sheet.OleProcedure("Activate");
Form1->Timer1->Enabled=true;
}
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
05.02.2013, 23:59
Строки надо при работе с OLE надо оформлять в WideString OLE объекты
0
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
06.02.2013, 00:26  [ТС]
Попытался разобраться в том что вы скинули, просто запустил программу, все заработало, я в ступоре... ну вообще ведь ничего не менял.... Как я понял проблема может быть вот в этой строке
C++
1
Sheet  = Sheets.OlePropertyGet("Item",i);
из-за ошибок в конвертировании ? но все равно как-то тяжко пошло... Блин, почему все работает сейчас =/
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.02.2013, 00:48
Цитата Сообщение от Avazart Посмотреть сообщение
Строки надо при работе с OLE надо оформлять в WideString OLE объекты
Что ту непонятно ?

К примеру
C++
1
my_worksheet=my_workbook.OlePropertyGet("WorkSheets",WideString("SheetName"));
WideString и префикс L перед строкой символов?
0
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
06.02.2013, 10:41  [ТС]
Я видел это...
C++
1
Sheet  = Sheets.OlePropertyGet("Item",WideString(i));
Такой вариант просто приводит к ошибке в программе...
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.02.2013, 11:42
Вы что не можете отличить строку от целого ?
0
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
06.02.2013, 11:51  [ТС]
Получается ошибка раньше чтоли... =/ Я уже в конец запутался... Мне нужно перевести строки к новому типу... Можно из моего когда один пример исправления ?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.02.2013, 11:55
C++
1
cur.OlePropertySet("Value", "Текущие показания");
На
C++
1
cur.OlePropertySet("Value", WideString("Текущие показания") );
1
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
06.02.2013, 12:01  [ТС]
Avazart, спасибо огромное, выручили... чет затупил я) ошибка раньше была))) Ещё раз спасибо ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.02.2013, 12:01
Помогаю со студенческими работами здесь

Задача с виртуальными методами, совсем не понимаю что с ней делать :(
Доброго времени суток! Не могу понять, как решать задачу. Вот собственно условие. Создать иерархию классов «Вагоны пассажирского...

у меня windows 7 максимальная Х64 звук на ней не работает что делать?
у меня windows 7 максимальная Х64 микшер показывает что звук работает а ни колонки ни наушники не работают. Дрова переустанавливал и не...

На флешке создался ярлык самой флешки, а потом на ней все исчезло! Что же делать?
Здравствуйте! Вчера в институте вставила свою флешку в компьютер и заметила что на ней вместо привычных папок ярлык самой флешки. думала...

Есть ДанныеФормыКоллекция "прилетевшая" из другой формы.что с ней делать?
открываю форму, в параметры её открытия передаю &quot;данныеФормыКоллекция&quot; другой формы. как определить структуру этой данные формы коллекция...

asp - xml - vb dll - html вот такая вот компания и что с ней делать
как из асп создать хмл-файл, передающий информацию в vb-dll, там она анализируется и результат снова в виде html (asp)? я - чайник в...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru