powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему не выполняется запись в файл при автозапуске программы, написанной на c++ builder6?
9 сообщений из 9, страница 1 из 1
Почему не выполняется запись в файл при автозапуске программы, написанной на c++ builder6?
    #38433856
moskov199
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема состоит в следующем... Имеется пограмма которая через определенный промежуток времени ( по таймеру) дописывает в файл информацию о состоянии системы... Ниже представлен кусок программы. P. S. Программа ставится в автозагрузку.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
{
char path[100];
GetCurrentDirectory(100, path);
ShowMessage("Проверка");
strcat(path, "\\log.bat");
//file.clear();
file.open(path, ios::app);
   if (file.is_open())
   {
   int size = ascii_key.Length();
   for(int i = 1; i<=size; i++)
   {
     file<<ascii_key[i];
     if (i == size)
     {
        ascii_key="";
     }
     }
   file.close();
  // file.clear();
   }
}


И так проблема в следующем: когда запускаешь программу двойным кликом мышки она работает нормально ( в файл идет запись), но стоит презагрузить компьютер, то программа при автозапуске перестает записывать в файл, хотя верхний кусок кода выполняется (ShowMessage выдает сообщение), но вот запись не происходит. Пробовал использовать file.clear - безрезультатно...
Господа помогите в чем может быть причина того, что в файл при автозапуске программы не идет запись? Буду очень благодарен))))!
...
Рейтинг: 0 / 0
Почему не выполняется запись в файл при автозапуске программы, написанной на c++ builder6?
    #38433869
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
moskov199Господа помогите в чем может быть причина того, что в файл при автозапуске
программы не идет запись?
Открой Диспетчер Задач и посмотри от какого пользователя твоя программа работает.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему не выполняется запись в файл при автозапуске программы, написанной на c++ builder6?
    #38433871
moskov199
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, от имени моей учетки)))
...
Рейтинг: 0 / 0
Почему не выполняется запись в файл при автозапуске программы, написанной на c++ builder6?
    #38433875
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
moskov199от имени моей учетки)))
Тогда проверяй код ошибки из-за которой файл не может открыться.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему не выполняется запись в файл при автозапуске программы, написанной на c++ builder6?
    #38433920
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
moskov199,

ты в showmessage передай getcurrentdirectory и именно там ищи свой файл, если есть права, или проверяй есть ли у тебя права на запись в getcurrentdirectory.
...
Рейтинг: 0 / 0
Почему не выполняется запись в файл при автозапуске программы, написанной на c++ builder6?
    #38433975
moskov199
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий Широковmoskov199,

ты в showmessage передай getcurrentdirectory и именно там ищи свой файл, если есть права, или проверяй есть ли у тебя права на запись в getcurrentdirectory.

Хорошо. Попробую... Спасибо)))
...
Рейтинг: 0 / 0
Почему не выполняется запись в файл при автозапуске программы, написанной на c++ builder6?
    #38434125
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
moskov199,
Также можно приаттачиться дебагером к запущенному в автозапуском приложению и проверить, что там делается.
...
Рейтинг: 0 / 0
Почему не выполняется запись в файл при автозапуске программы, написанной на c++ builder6?
    #38435915
HellFighter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была подобная проблема с COM-сервером. Как выяснилось, после установки и перезапуска системы текущий путь к DLL был не тем где она реально лежала, а ...\system32\...
Таким образом, как писали выше, не хватало прав для создания файла и записи в него. (Из тех же соображений если считаешь что файл лежит около exe или dll и прописываешь его открытие относительным путём, может оказаться что ломишься по несуществующему пути)
...
Рейтинг: 0 / 0
Почему не выполняется запись в файл при автозапуске программы, написанной на c++ builder6?
    #38438249
HellFighter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И ещё по поводу кода
Код: plaintext
1.
2.
char path[100];
GetCurrentDirectory(100, path);


Для подобных операций есть специальная константа MAX_PATH, которая как правило равна 260. А если ты выделяешь всего 100 знаков, то реальный путь может туда просто не поместиться.
Надо так:
Код: plaintext
1.
2.
char path[MAX_PATH];
GetCurrentDirectory(MAX_PATH, path);
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему не выполняется запись в файл при автозапуске программы, написанной на c++ builder6?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]