![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.01.2008
Сообщений: 92
|
![]()
доброго времени суток. нужна ваша помощь. консольная программа на делфи. выполняент простую функцию - по указанному пути удаляет файл. создает новый с таким же именем и пишет в него нужную инфу - удаление и создание сделано ввиду того. что при функции перезаписи не всегда программа может перезаписать содержимое файла, система не дает доступа, а удалить с создать файл программа позволяет, причем если в старпый файл нельзя было писать, то после удаления старого в новый созданный писать можно, но суть не в этом. на вин хр программа работает нормально, на висте 32 и 64 бита тоже но при отключенной безопасности, а именно - контроль учетный записей. если функция контроля учеток включена то программа вытелает в аппкреш
Имя события проблемы: APPCRASH Имя приложения: 2.exe Версия приложения: 0.0.0.0 Штамп времени приложения: 2a425e19 Имя модуля с ошибкой: kernel32.dll Версия модуля с ошибкой: 6.0.6000.16386 Штамп времени модуля с ошибкой: 4549bd80 Код исключения: c0000005 Смещение исключения: 0004fcac Версия ОС: 6.0.6000.2.0.0.256.6 Код языка: 1049 Дополнительные сведения 1: b37c Дополнительные сведения 2: 2a7328d8bb40c81c93b4b5f46adb8e10 Дополнительные сведения 3: b37c Дополнительные сведения 4: 2a7328d8bb40c81c93b4b5f46adb8e10 собственно код программы - program Project2; {$APPTYPE CONSOLE} uses SysUtils, shellapi, windows; var fl:System.Text; function SystemDirSystem32 : String; Var Windir : Array [0..255] Of Char; Begin GetSystemDirectory(WinDir, Sizeof(Windir)); Result := WinDir; end; begin DeleteFile('SystemDirSystem32'+'\10 25\1.txt'); AssignFile(fl,'c:\windows\system32\ 1025\1.txt); rewrite(fl); writeln(fl,'hello'); writeln(fl,'world'); close(fl); end. 1 вопрос. подскажите пожалуйста, почему так 2 вопрос. не получается сделать чтобы программа автоматически находила системную директорию. в случае удаления файла ее находит, а в случае с AssignFile(fl,'c:\windows\system32\ 1025\1.txt); не получается, при компиляции вылазит ошибка - писал так AssignFile(fl,'SystemDirSystem32'+' c:\windows\system32\1025\1.txt); ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
1)потому что нефиг в системную папку лезть(проге нужны права админа под вистой...то есть запуск с правами админа)
2)изучите вызов функций и работу со строками. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 12.06.2010 в 01:45. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 19.01.2008
Сообщений: 92
|
![]()
пытался изучить. гуглил. нифига толкового нет. может подскажете7
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Непонятная ошибка!!!! | Scorpeon | Общие вопросы Delphi | 4 | 14.06.2010 01:23 |
Непонятная ошибка. | jojahti | Общие вопросы C/C++ | 4 | 05.09.2009 20:39 |
Непонятная ошибка | Juri | Помощь студентам | 6 | 07.11.2008 19:28 |
Непонятная ошибка | RealSHELS | Общие вопросы Delphi | 16 | 24.10.2008 20:49 |
Непонятная ошибка | Slash | Общие вопросы Delphi | 6 | 19.06.2007 14:45 |