openFileDialog после конца работы,виснет программу.
С чем это может быть связано?где или в чем искать ошибку?
на всякий случай вот код:
OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;
openFileDialog1->Reset() ;
openFileDialog1->InitialDirectory = "c:\\";
openFileDialog1->Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog1->FilterIndex = 2;
openFileDialog1->RestoreDirectory = true;
if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )
{
if ( (openFileDialog1->OpenFile()) != nullptr )
{
String^ str1;
str1=openFileDialog1->FileName;
IntPtr ptr = System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(str1);
char* str = (char*)ptr.ToPointer();
myStream.open(str);
myStream >> buff;
chislotochek=atoi(buff);
while(g<chislotochek)
{
for(int j=0;j<2;j++)
{
myStream >> buff;
mas[g][j]=atoi(buff);
}
g++;
}
myStream.close();
}
}
вообще ничего,никакой ошибки не выдает,просто виснит и прекращает работу
может это.когда программу закрываю в выводе данных вот это написано:
"Name.exe" (управляемый): "C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll" загружен, символы не загружены.
"Name.exe" (управляемый): "C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll" загружен, символы не загружены.
"Name.exe" (управляемый): "C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" загружен, символы не загружены.
Программа "[2080] Name.exe: Управляемый" завершилась с кодом -1073741819 (0xc0000005).
Каким образом данные выводятся на форуму?
Каким образом данные выводятся на форуму?
На форме рисуются "точки",а в файле лежат их координаты.
Путем проверок,выяснилось,что такая фигня,только при загрузке файла с диска С. с другого диска грузит нормально,если файл лежит в корне.а вот если в какой-то папке,то уже не видит. Из-за чего может так быть? Что-то с памятью?
Каким образом данные выводятся на форуму?
Кто кого не видит?
Оберни весь код, что привёл в первом посте, в блок try/catch и запусти проект в отладочной сборке.
И да, отлаживай по шагам. Не так уж много у тебя строчек. На какой завалится, от той и будем отталкиваться
Не знаю,все что кроме текста внутри брала с сайта мсдн,только поток не stream а ifstream взяла, так извлекать данные удобнее (другие способы работы с файлами у меня не получаются)
Все строчки проходят( на последней закрывающейся скобке такое безобразие происходит. А если путь из нескольких папок состоит,то он файл не открывает,но это ,как я выяснила,похоже из-за того что имена папок на русском, с английскими названиями или цифровыми проблем с путем нет.
Прям как с Оперой при сохранении файлов — такие же чудеса творятся. Ну, это уже немного оффтоп
Данные из файла записываются в массив координат,а на форме рисуются точки с координатами из файла.больше никак не выводятся.
Не могу через try/catch..никак не пойму что не так,компилятор на catch ругается,хотя делаю все как в примерах,что в инете нашла
Прям как с Оперой при сохранении файлов — такие же чудеса творятся. Ну, это уже немного оффтоп
Вот и у меня косая будет видимо.одно хорошо,там где будет применяться, проблем с русскими папками не будет,все на английском. пока заморачиваться на этом не буду.
Со стримом и без действий с файлом работает. и без опедайлога работает(с конкретным файлом)
и если диск С не трогать тоже работает). может просто у системы какие заморочки мешают. надо будет на другом компе проверять.
Прям как с Оперой при сохранении файлов — такие же чудеса творятся. Ну, это уже немного оффтоп
Судя по всему что-то с закрытием потока. Я на другой проге решила попробовать,там прекращение работы приложения происходит именно в этот момент. А что дальше делать не знаю,чтоб заработало.
это Это C++ CLR Windows form application
myStream.close();
}
catch(...){}