Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Fehler nur bei Autostart aus Registry (https://www.delphipraxis.net/79012-fehler-nur-bei-autostart-aus-registry.html)

Mazel 14. Okt 2006 18:58


Fehler nur bei Autostart aus Registry
 
Hallo,

ich habe ein mekrwürdiges Problem mit dem Autostart aus der Registry. Folgendes: in der Registry unter dem Schlüssel HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run\ befindet sich ein Enitrag, der mein Programm aufrufen soll:

Delphi-Quellcode:
D:\XXX\XXX\XXX\XXX.exe /run
Beim Start des Programmes sollen ein paar Dateien geladen werden die sich im Unterverzeichnis von dem Programmverzeichnis befinden:

Delphi-Quellcode:
If FileExists(ExtractFilePath(Application.ExeName) + 'Data\msn.mjd') then
  begin
   AssignFile(MSNFile, 'Data\msn.mjd');
   Reset(MSNFile);
   for i := 0 to FileSize(MSNFile) - 1 do
    begin
     .
     .
     .
    end;
   CloseFile(MSNFile);
  end
 Else ShowMessage('Fehler');
Das funktioniert aber leider nicht, es iwrd immer der Else-Zweig ausgeführt. Starte ich das Programm manuell, also nicht als Autostart, geht es wunderbar aber, und das verstehe ich nicht, wenn ich unter Ausführen, das selbe wie oben, D:\XXX\XXX\XXX\XXX.exe /run, eintrage und öffne geht es auch wunderbar. Also muss da doch ein Unterschied sein, den ich aber nicht verstehe. Ich hoffe mir kan jemand helfen.

Gruß
Mazel

DGL-luke 14. Okt 2006 19:01

Re: Fehler nur bei Autostart aus Registry
 
Delphi-Quellcode:
AssignFile(MSNFile, 'Data\msn.mjd');
Da fehlt doch was im vergleich zu

Delphi-Quellcode:
FileExists(ExtractFilePath(Application.ExeName) + 'Data\msn.mjd')

Cyberbob 14. Okt 2006 19:07

Re: Fehler nur bei Autostart aus Registry
 
Hallo,

versuch mal
Delphi-Quellcode:
If FileExists(ExtractFilePath(Application.ExeName) + 'Data\msn.mjd') then
  begin
   AssignFile(MSNFile, ExtractFilePath(Application.ExeName) + 'Data\msn.mjd');
   Reset(MSNFile);
   for i := 0 to FileSize(MSNFile) - 1 do
    begin
     .
     .
     .
    end;
   CloseFile(MSNFile);
  end
Else ShowMessage('Fehler');

Mazel 14. Okt 2006 19:08

Re: Fehler nur bei Autostart aus Registry
 
Nochwas:
Mir ist eben aufgefallen dass er nicht den Else-Zweig ausführt, dafür aber die Datei nicht liest aber es kommt kein Fehler.

Außerdem habe ich noch diese Funktion im Programm die mir auch immer wieder den Fehler gibt, dass die Dateien nicht gefunden werden können, alles aber nur beim Autostart aus der Registry:

Delphi-Quellcode:
procedure TMain.ApplicationEventsException(Sender: TObject; E: Exception);
begin
  Application.MessageBox(PChar('Folgender Fehler ist aufgetreten: '+ E.Message + '.' + #10 + 'Die Anwendung wird nun geschlossen. Bei erneuten auftreten des Fehlers wenden Sie sich bitte an den Autor Marcel Jänicke'), 'Fehler', 16);
  Close;
end;

[EDIT]
@Cyberbob: ich werde es gleich probieren ;)
[/EDIT]

[EDIT2]
OK, ich habe es eben probiert, es geht. Kann mir einer erklären warum das beim Autostart änders ist alsb beim normalen Start?
[/EDIT2]

Gruß
Mazel

Cyberbob 14. Okt 2006 19:42

Re: Fehler nur bei Autostart aus Registry
 
Weil das Programm beim Autostart im Autostart-Ordner sucht. Beim Kompilieren sucht das Programm im Projektordner.

Mazel 15. Okt 2006 07:53

Re: Fehler nur bei Autostart aus Registry
 
Wo ist den der Autostart-Ordner?

Cyberbob 15. Okt 2006 13:00

Re: Fehler nur bei Autostart aus Registry
 
In deinem Startmenü, es sei denn, du hast es per Registry-Autostart geladen...

Mazel 15. Okt 2006 15:15

Re: Fehler nur bei Autostart aus Registry
 
ASO, im Startmenü schaut er nach, das wusste ich nicht.

OK danke :thumb:

Gruß
Mazel


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz