Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 33

Abnormal program termination

24.12.2013, 02:33. Показов 1133. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код, но при компиляции ошибка и "Abnormal program termination".
Вот код:
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
Variant Excel, Sheet;
int i,j;
float nmas[8][40], rmass[4][7], rmast[4][1];
 
//---------------------------------------------------------------------------
 
void __fastcall TForm2::Button1Click(TObject *Sender)
{
    Variant Excel = CreateOleObject("Excel.Application");
   //   Excel.OlePropertySet(WideString("Visible"), true);
    Variant Book = Excel.OlePropertyGet(WideString("Workbooks")).OlePropertyGet
        (WideString("Open"), WideString("C:\\data2.xlsx"));
    Variant Sheet = Book.OlePropertyGet("Worksheets", 1);
    // активация последней заполненной ячейки
   Excel.OlePropertyGet("Cells").OlePropertyGet("SpecialCells",
     XlCellType::xlCellTypeLastCell).OleProcedure("Activate");
    // Получаем значение последней строки
    int rows = Excel.OlePropertyGet("ActiveCell").OlePropertyGet("Row");
    // Получаем значение последней колонки
    int cols = Excel.OlePropertyGet("ActiveCell").OlePropertyGet("Column");
    StringGrid1->ColCount = cols;
    StringGrid1->RowCount = rows;
    for (int j = 0; j < rows; j++)
        for (int i = 0; i < cols; i++)
        {
                this->StringGrid1->Cells[i][j] =
                Sheet.OlePropertyGet(WideString("Cells"), j + 1, i + 1);
                nmas[i][j]=StrToFloat(StringGrid1->Cells[i][j]);
        }
    Excel.OleProcedure(WideString("Quit"));
 
 
float Dmin, Dmax;
int D, K;
int a ,b; //счетчики массива rmass
Dmin=StrToFloat(Edit1->Text);
Dmax=StrToFloat(Edit2->Text);
 
D=StrToFloat(ComboBox1->Text);
K=StrToFloat(ComboBox2->Text);
 
if (ComboBox2->ItemIndex==0) { i=i; } else
if (ComboBox2->ItemIndex==1) { i+=5; } else
if (ComboBox2->ItemIndex==2) { i+=10; }  else
if (ComboBox2->ItemIndex==3) { i+=15; } else
if (ComboBox2->ItemIndex==4) { i+=20; } else
if (ComboBox2->ItemIndex==5) { i+=25; } else
if (ComboBox2->ItemIndex==6) { i+=30; } else i+=35;
 
}
Если же загрузку данных из файла и перенос их в массив делать отдельно, то все нормально..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    Variant Excel = CreateOleObject("Excel.Application");
   //   Excel.OlePropertySet(WideString("Visible"), true);
    Variant Book = Excel.OlePropertyGet(WideString("Workbooks")).OlePropertyGet
        (WideString("Open"), WideString("C:\\data2.xlsx"));
    Variant Sheet = Book.OlePropertyGet("Worksheets", 1);
    // активация последней заполненной ячейки
   Excel.OlePropertyGet("Cells").OlePropertyGet("SpecialCells",
     XlCellType::xlCellTypeLastCell).OleProcedure("Activate");
    // Получаем значение последней строки
    int rows = Excel.OlePropertyGet("ActiveCell").OlePropertyGet("Row");
    // Получаем значение последней колонки
    int cols = Excel.OlePropertyGet("ActiveCell").OlePropertyGet("Column");
    StringGrid1->ColCount = cols;
    StringGrid1->RowCount = rows;
    for (int j = 0; j < rows; j++)
        for (int i = 0; i < cols; i++)
        {
                this->StringGrid1->Cells[i][j] =
                Sheet.OlePropertyGet(WideString("Cells"), j + 1, i + 1);
                nmas[i][j]=StrToFloat(StringGrid1->Cells[i][j]);
        }
    Excel.OleProcedure(WideString("Quit"));
Что я делаю не так.?
Подскажите пожалуйста.
Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.12.2013, 02:33
Ответы с готовыми решениями:

Abnormal program termination?
Суть в чем. Разбираю чужой код и нашел ошибку. Когда нажимаю кнопку вылетает «Abnormal program termination» Нашел где это...

Abnormal program termination
В общем возникает эта ошибка. Я даже знаю какая часть кода её вызывает, но изменить ничего не могу:( Если из кода убрать эту часть, то...

abnormal program termination
Здравствуйте. При выполнении лабы у меня возникла ошибка &quot;abnormal program termination&quot; в строчке if num1 == 0 и так далее, короче...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.12.2013, 02:33
Помогаю со студенческими работами здесь

TFileStream и Abnormal program termination
есть классы class Street { public: string Contry; string City; string Street; }; class Adress : public Street

Килоггер вызывает ошибку abnormal program termination
Доброго времени суток!!! Программа перехватывает нажатие на PrintScreen. В программе есть DLL библиотека с Хуками, которая и...

Проблема 'abnormal program termination' загрузки сохраненного в скомпилированной программе изображения
Здравствуйте, уважаемые форумчане, возникла дилемма, в довольно ёмкой программе (код которой могу предоставить) произошла ошибка:...

"Abnormal program termination" при закрытии формы
При закрытии формы вылетает сообщение &quot;Abnormal program termination&quot;, и проект закрывается. Форма вызывается, как: std::auto_ptr...

"Зависание" и затем Abnormal Program Termination
Есть структура с большим количеством переменных и функций, в т.ч. переменные AnsiString. Объявляется статический массив этой структуры. В...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru