Seite 3 von 5

Verfasst: 22.03.2009 22:01
von ts-soft
Kaeru Gaman hat geschrieben:nee.. weil die prefs nicht da ist.

also werden die defaults auch nicht gesetzt, weil die ReadPreference-Funktionen garnicht ausgeführt werden.
Da würde ich doch nochmal in der Hilfe nachlesen :mrgreen:

Verfasst: 22.03.2009 22:01
von Kaeru Gaman
bau doch das else mal ein......


>> Da würde ich doch nochmal in der Hilfe nachlesen

Schatzele...
in der Help steht, ich kann die ReadPreference-Befehle benutzen, wenn die Datei nicht gefunden wurde...
da steht aber nicht, dass ein If-Branch trotzdem ausgeführt wird.

Verfasst: 22.03.2009 22:03
von DrNo
Wo?
Geht ja garnicht.
Ganz am anfang vom code les ich die aktuelle version (av) und dessen Datum (date) ein.
Direkt danach ha bich zum Test nen MessageRequester eingebaut. Da wird alles angezeigt.

Verfasst: 22.03.2009 22:08
von DrNo
Öhm entweder ich bin einfach zu müde und überseh irgendwas oder es is ein Bug. Jedenfalls hab ich mal das ganze "Projekt" hochgeladen. Wär nett von euch, das Problem mal kurz anzuschauen. Code is nich lang, nur 80z (bisjetzt).

http://drno.bplaced.net/adkiller.zip

DrNo

Verfasst: 22.03.2009 22:08
von ts-soft
OpenPreference nutzt man ja auch nicht in einem If, es sei dann man möchte
die Preference erstellen, wenns die noch garnicht gibt.
Manchmal überprüfen die Einsteiger garnichts und manchmal da wo es
falsch ist :mrgreen:

Verfasst: 22.03.2009 22:19
von Kaeru Gaman
tja... völlig egal, was "man" tut.

so wie der code dasteht, hat er die defaults nicht gesetzt wenn die datei nicht existiert, weil das openpreferences geIfft ist.

.... was er auch ganz simpel sehen könnte, wenn er einfach mal das Else einsetzt und den Requester.

möglicher weise stimmt die CurrentDir nicht, wenn die Prefs nicht am angegebenen relativen Pfad gefunden wird.

Verfasst: 22.03.2009 22:22
von ts-soft
CurrentDir stimmt nur, wenn man oder der aufrufende Process es gesetzt hat. Also immer schön selber setzen!

Verfasst: 22.03.2009 22:29
von DrNo
:allright:

...Und was stimmt jetzt nicht? :freak:

Weil ich hab das ganze bestimmt schon zig mal gemacht. Also der Versionvergleich per Prefs/Versionsanzeige in nem TextGadget und es hat ja bisjetzt immer geklappt.

Und wegen Default: Muss da ein Default-Inhalt rein oder ein Default-Dateiverweis?

Verfasst: 22.03.2009 23:01
von Kaeru Gaman
> ...Und was stimmt jetzt nicht?

möglicherweise dein relativer pfad, also die CurrentDir..
hast du denn jetzt mal das Else eingebaut, um ne meldung zu bekommen ob er die prefs findet?


> Und wegen Default:
wenn du das If beim OpenPrefs wegläßt, führt er dir auch den Default-Wert beim Read aus.

Verfasst: 22.03.2009 23:13
von ts-soft
Erstell mal eine testdatei im selben ordner und teste mal:

Code: Alles auswählen

Procedure.s GetExePath()
  Protected ExePath.s = GetPathPart(ProgramFilename())
  If LCase(ExePath) = LCase(GetTemporaryDirectory()) : ExePath = GetCurrentDirectory() : EndIf
  ProcedureReturn ExePath
EndProcedure

SetCurrentDirectory(GetExePath())

Debug OpenPreferences("data\config.conf")