long int sfPB1 = 0;
size = (long int) inFile.tellg();
sfPB1 = size;
Вылет программы из-за значения Value ProgressBar'a
Код:
long int size = 0;
long int sfPB1 = 0;
size = (long int) inFile.tellg();
sfPB1 = size;
memblock = new char [size];
memblock1 = new char [size];
inFile.seekg (0, ios::beg);
inFile.read (memblock, size);
memcpy(memblock1,memblock,size);
progressBar1->Maximum=sfPB1+1;
progressBar1->Step = 1;
progressBar1->Value = 0;
//вот здесь вылетает. ошибка - value не может быть больше максимума
for (int i=0; i<size; i++)
{
if ((memcmp ( memblock1, sB, 6 ))==0)
{
outFile.write (memblock1, 16320);
this->progressBar1->Value+=16320;
memmove(memblock1, memblock1 + 16320, size - 16320);
}
else
{ memmove(memblock1, memblock1 + 1, size -1);
this->progressBar1->Value++;
}
}
long int sfPB1 = 0;
size = (long int) inFile.tellg();
sfPB1 = size;
memblock = new char [size];
memblock1 = new char [size];
inFile.seekg (0, ios::beg);
inFile.read (memblock, size);
memcpy(memblock1,memblock,size);
progressBar1->Maximum=sfPB1+1;
progressBar1->Step = 1;
progressBar1->Value = 0;
//вот здесь вылетает. ошибка - value не может быть больше максимума
for (int i=0; i<size; i++)
{
if ((memcmp ( memblock1, sB, 6 ))==0)
{
outFile.write (memblock1, 16320);
this->progressBar1->Value+=16320;
memmove(memblock1, memblock1 + 16320, size - 16320);
}
else
{ memmove(memblock1, memblock1 + 1, size -1);
this->progressBar1->Value++;
}
}
Ну Вы мня извините, где error(number error) в Декларации переменных or цикле ???
Дальше более , что такое 16320?
Не надо точит прогу под один файл for progressBar.
P/S
По ходу error тут
Код:
size = (long int) inFile.tellg();
Код:
using System;
using System.IO;
System.IO.FileInfo file = new System.IO.FileInfo("C:До_Пол_копейки.куй");
int size = file.Length;
using System.IO;
System.IO.FileInfo file = new System.IO.FileInfo("C:До_Пол_копейки.куй");
int size = file.Length;
16320 размер нужного мне кадра который я записываю в другой файл. Нахождение размера файла написано правильно, я проверил. Ошибка только в progressbar
Код:
Код:
inFile.seekg (0, inFile.end);
int size = inFile.tellg();
inFile.seekg (0, inFile.beg);
int size = inFile.tellg();
inFile.seekg (0, inFile.beg);
Цитата: Valiant
а Вы не пробовали вывести значение size вот в этом месте:
я почти уверен что у Вас там ноль!
я бы с этого начал бы.
Код:
long int sfPB1 = 0;
size = (long int) inFile.tellg();
sfPB1 = size;
size = (long int) inFile.tellg();
sfPB1 = size;
Код:
inFile.seekg (0, inFile.end);
int size = inFile.tellg();
inFile.seekg (0, inFile.beg);
int size = inFile.tellg();
inFile.seekg (0, inFile.beg);
Нет, увы, я написал все верно. Я использовал стандартные вещи описанные по ссылкам: 1 и 2 . Ошибка была в
Код:
this->progressBar1->Value+=16320;