Форум: "WinAPI";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];
ВнизПрограмма через автозапуск не работает Найти похожие ветки
← →
Vasya.ru (2004-08-17 17:21) [0]Прога использует 3 файла, прописываю в реестр в автозапуск - при старте Винды вылезает сообщение "File not Found", форма создается, но строки из файлов не грузятся.
Запускаю её мышкой - все работает. В чем может быть причина?
← →
Vasya.ru (2004-08-17 17:22) [1]В реестре название ключа на Русском - от этого проблем не может быть?
← →
wicked © (2004-08-17 17:23) [2]как загружаются файлы - по полному пути или просто по имени?...
рабочая директория у программы какая?...
← →
Vasya.ru (2004-08-17 17:46) [3]Файлы загружаются по имени. Рабочая директория c:\Program Files\Reminder\
← →
DVM © (2004-08-17 17:51) [4]
>
> Vasya.ru (17.08.04 17:46) [3]
Когда запускаешь мышкой, то текущая директория та, из которой запустили программу и она без проблем находит файлы у себя в папке.
Когда все это дело запускается через реестр, текущая директория после запуска может и меняться и программа не находит их.
Надо к своим файлам обращаться по полному пути. Путь к проге можно выяснить ParamStr(0), выделить папку и добавить имя файла, с которым надо работать.
← →
Иван Ширко (2004-08-17 18:21) [5]Путь к файлу должен быть в сокращённом варианте.
Такой делает в Delphi функция ExtractShortPathName (?)
Удачи!
← →
Иван Ширко (2004-08-17 18:24) [6]Извиняюсь, неправильно прочитал вопрос:-(
Нужно установить текущую директорию для файлов, либо писать правильные имена, либо код в студию.
Удачи!
← →
Vasya.ru (2004-08-17 19:46) [7]Спасибо, пойду переделывать программу
← →
Vasya.ru (2004-08-17 22:30) [8]Сделал как советовали - все равно "File not found".
Ввел проверку на наличие файлов - должны ShowMessage вылезать, если файлов нет, они не вылезают, форма рисуется, текст из файлов не грузится
← →
DeadMeat © (2004-08-18 01:08) [9]Лучше видимо "код в студию" ©
---
...Death Is Only The Begining...
← →
Vasya.ru (2004-08-18 01:56) [10]код в студию
procedure MainForm.FormCreate(Sender: TObject);
Var
Stroka : Integer;
Date : String;
Comment : String; // Результат ф-ции ShowComment
...
ItsAdres : String; // Полный адрес файла
MyFile : TextFile;
Begin
ItsAdres := ExtractFilePath(paramstr(0));
// ==== Проверяем, есть ли файл Date.AS ====
AssignFile (MyFile, ItsAdres + "Date.AS");
{$I-}
Reset (MyFile);
{$I+}
If IOResult <> 0 Then
Begin
ShowMessage ("Файл Date.AS не найден");
ReWrite (MyFile);
CloseFile (MyFile);
Application.Terminate;
End
Else CloseFile (MyFile);
...
Date := DateToStr(now);
Stroka := PoiskInFile (ItsAdres + "Date.AS",Date);
If (Stroka > 0) Then
Begin
Lbl1.Caption := "Здесь текст";
Comment := ShowComment (Stroka); // Возвр. заданную стр. из файла
If (Comment = "") Then Comment := "Комментарий отсутствует";
LblDate.Caption := Date;
LblComment.Caption := Comment;
MP.AutoOpen := True;
MP.FileName := ItsAdres + "Muzic.mid";
MP.Open;
MP.Play;
End
Else Application.Terminate;
End;
← →
имя (2004-08-18 02:16) [11]Удалено модератором
← →
wicked © (2004-08-18 12:52) [12]это
> AssignFile (MyFile, ItsAdres + "Date.AS");
> {$I-}
> Reset (MyFile);
> {$I+}
> If IOResult <> 0 Then
> Begin
> ShowMessage ("Файл Date.AS не найден");
> ReWrite (MyFile);
> CloseFile (MyFile);
> Application.Terminate;
> End
> Else CloseFile (MyFile);
заменить на FileExists(ItsAdres + "Date.AS")
а вот это
> Date : String;
переименовать... Date - стандартная функция...
← →
Iconka © (2004-08-18 13:06) [13]Попробуй в ярлыке запуска указать нужную рабочую папку
← →
Anatoly Podgoretsky © (2004-08-18 17:33) [14]Ошибка в функции PoiskInFile
← →
Makssim (2004-08-18 18:42) [15]Anatoly Podgoretsky © (18.08.04 17:33) [14]
Ошибка в функции PoiskInFile
программа работает, ошибка только при старте через автозапуск
← →
Senich (2004-08-23 14:17) [16]А где скачать эту программу?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.041 c