![]() |
autostart, datei im onCreate Ereignis laden
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe ein kleines wakeonlan-Tool geschrieben (gibt es zwar schon zu Haufen aber ihr wisst ja, der Lerneffekt...), dass sich in den Autostart eintragen lässt. Im onCreate Ereignis des Tools lasse ich die ini-Datei mit dem Port und den Listeneinträgen der zu weckenden Rechner laden. Wenn ich das Tool manuell starte wird die ini-Datei anstandslos geladen und die Werte richtig in die Liste eingetragen usw. ... Genauso, ohne jegliche Probleme läuft das auch mit dem Autostart auf meinem WinXP Rechner ab, mit dem ich das Programm geschrieben habe. Wenn ich es aber auf meinen Win2000 Rechnern mit dem Autostart laufen lasse, lädt er mir entweder nur die erste Zeile der ini-Datei oder bringt mir gleich eine Zugriffsverletzung. Beim manuellen Start auf den Win2000 Rechnern läuft ebenfalls alles ohne Probleme. Hat jemand eine Ahnung an was das liegen könnte? Zum besseren Verständnis hier der Code zum Laden:
Delphi-Quellcode:
und anbei noch die .exe mit der ini-Datei zum testen.
procedure Twakemeup.FormCreate(Sender: TObject);
var datei: textfile; dummy: String; regist: TRegistry; begin // lädt die Einstellungen if fileexists(dateiname)then begin Assignfile(datei,dateiname); Reset(datei); Readln(datei,dummy); EPort.Text:= dummy; // Port auslesen while not eof(datei) do // MAC Adressen auslesen begin Readln(datei,dummy); LBRechner.Items.Add(dummy); // und in ListBox eintragen end; CloseFile(datei); end; ... end; |
Re: autostart, datei im onCreate Ereignis laden
Welchen Wert enthät die Variable dateiname?
|
Re: autostart, datei im onCreate Ereignis laden
dateiname habe ich als Konstante mit dem Wert 'settings.ini' deklariert.
Wenn es hilfreich ist, kann ich auch den ganzen Quelltext posten, ist ja nicht viel und auch kein Geheimnis. |
Re: autostart, datei im onCreate Ereignis laden
Und woher soll Windows wissen wo sich diese Datei befindet? Seit DOS 2.0 kennt das Betriebssystem eine Verzeichnisstruktur.
|
Re: autostart, datei im onCreate Ereignis laden
Oha, daran könnte es liegen. :wall:
Aber die settings.ini liegt doch im gleichen Verzeichnis wie die exe, dann ist der Pfad doch egal oder? Ich probiers gleich morgen früh aus, wenn ich wieder an meinem eigenen Rechner sitze. Danke |
Re: autostart, datei im onCreate Ereignis laden
Nein, ist es eben nicht. Die Datei wird im aktuellen Arbeitsverzeichnis gesucht und wenn du eine Verknüpfung im Autostart hast, ist das das Verzeichnis, wo die Verknüpfung liegt.
|
Re: autostart, datei im onCreate Ereignis laden
Ich würde die Konstante in eine Variable (Evtl. global) umwandeln und dann oben in deinem OnCreate-Erreignis vollgendes zuweisen:
dateinane := ExtractFileName(ParamStr(0)) + '\settings.ini'; Gruss Christian |
Re: autostart, datei im onCreate Ereignis laden
Hat geklappt!
Vielen Dank an euch beide. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz