|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Почему программе не получается считать из файла данные,записанные туда др.программой? |
|
Разное - Почему программе не получается считать из файла данные,записанные туда др.программой?
|
Пользователь Сообщения: 51 |
Профиль | Отправить PM | Цитировать одна программа(назовем ее прога 1), написанная на делфи пишет в файл "ФИО.тхт" данные, не получается считать(и записать туда) из этого файла инфу прогой 2(написана на с++), пока не выйдешь из проги 1.
|
|
------- Отправлено: 18:41, 17-01-2011 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать Nayan, после чтения/записи или иной работы с фалом, его надо закрывать. Желательно сразу после окончания работы, а не в конце программы.
Так же возможно это влияния работы файловой подсистемы, когда при открытии файла одной программой, другой запрещается работать с ним. |
------- Отправлено: 19:02, 17-01-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 51
|
Профиль | Отправить PM | Цитировать Да, конечно его закрываю после записи прогой 1 и до обращения второй проги к файлу.
Цитата lxa85:
|
|
------- Отправлено: 19:13, 17-01-2011 | #3 |
Старожил Сообщения: 154
|
Профиль | Отправить PM | Цитировать Виндос и любая другая ос без процесса, занявшего файл, никак его не блокирует.
Так что ищите что это за процесс, который занял этот файл. Проверьте - точно ли файл отпускается "программой 1". Попробуйте так - запустите "программу 1" и перед запуском "программы 2" убейте первую руками чтоб следов от нее не осталось. Если файл останется занят, бум думать.. но это врятли. Цитата Nayan:
|
|
Отправлено: 21:17, 17-01-2011 | #4 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Скачиваем программу Unlocker , а правым щелчком на заблокированном файле - Unlocker - он покажет, что блокирует файл. В любом случае проблемы из за монопольного доступа "проги_1" к файлу. Создателю надо было не брать файл в монопольный доступ для прочтения данных.
|
|
------- Отправлено: 00:52, 18-01-2011 | #5 |
Пользователь Сообщения: 51
|
Профиль | Отправить PM | Цитировать Это прога 2 (С++ Builder 2009), при создании формы происходит:
ampmax=fopen("AMPLITUDE.txt","r+t"); fio=fopen("fio.txt","r+t"); do { fscanf(fio,"%s",&str3); if (feof(fio)) break; } while(true); for(j=0;j<6;j++) { fscanf(ampmax,"%s",&stramp); strA=strA+" "+stramp; maximum[j]=atoi(stramp); } Label6->Caption=strA; Label5->Caption=str3; fclose(fio); fclose(ampmax); Подскажите плз решение проблемы,что неправильно или вообще может использовать другие ф-ии считывания или запуска 1-го приложения из другого? |
------- Отправлено: 16:50, 24-01-2011 | #6 |
Старожил Сообщения: 154
|
Профиль | Отправить PM | Цитировать ну я даже незнаю что тебе в таком случае посоветовать... скажем... попробуй подождать пока ты не получишь доступ к файлу. Сделать это легко: ф-ию открытия файла помести в try catch блок и все это в цикл до тех пор, пока не откроется файл. Но опять-же - тогда ты просто дождешься лазейки (если она будет) и отберешь файл у зазевавшейся программы, как она отреагирует на такую наглость - как программист написал. варварство конечно.. но может прокатить.
|
Отправлено: 19:07, 24-01-2011 | #7 |
Пользователь Сообщения: 51
|
Профиль | Отправить PM | Цитировать опять проблема в связке этих 2 программ. В ХР более менее работает. А вот в вин7 выходит ошибка аксес виолейшн(скрин окна ошибки прикреплен). При этом замечено, что при запуске пользователем такой ошибки нет, а при вызове из другой программы (winexec'ом) есть.
блин как загнать картинку в спойлер? |
------- Отправлено: 08:53, 04-05-2011 | #8 |
Старожил Сообщения: 295
|
Профиль | Отправить PM | Цитировать Вместо устаревшей WinExec используй ShellExecute. Детали - в справке или в гугле.
|
Отправлено: 20:31, 04-05-2011 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Считать инфу из разделов INI файла в разные массивы. | FlatX007 | AutoIt | 18 | 23-12-2010 22:57 | |
Разное - [решено] "Рекомендуемые программы" контекстного меню - как попасть туда программе? | FOx99 | Microsoft Windows 2000/XP | 5 | 25-06-2010 17:27 | |
[решено] Открытие файла в программе | cra5h_ | AutoIt | 4 | 19-11-2009 15:39 | |
Разное - Связать расширение файла со своей программой | galileopro | Microsoft Windows 2000/XP | 1 | 30-10-2009 22:02 |
|