[GELÖST] Writefile will nicht so recht...
Übersicht

CO2ehemals "SirMO"Betreff: [GELÖST] Writefile will nicht so recht... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
habe ein Problem mit BlitzMax. Ich habe folgenden Code geschrieben: BlitzMax: [AUSKLAPPEN] Global WOFLOGDIR:String = GetUsrDataFile() + "\CO2 Software\World Of Farming\Logs" Zur Erklärung: GetUsrDataFile() gibt den angegebenen User-Dir-Pfad zurück. Der Ordner befindet sich momentan auf "C:\Users\Marius\Documents\My Games". Die Funktion CreateLog() Soll erst - falls nicht vorhanden - einen Ordner namens "Logs" erstellen, und dann darin eine Datei mit dem Title "MomentanesDatum-MomentaneUhrzeit.log". Dann soll nochmal das Erzeugungsdatum und - Uhrzeit in die datei geschrieben werden. Zum schluss soll der file-handle returned werden. Alledings schmiert das Programm bei der WriteLine() - Zeile ab, und ich weiß nicht warum. Fehlermeldung ist folgende Zitat: Unhandled Exception:Attempt to access field or method of Null object
Ich hoffe ihr könnt mir helfen |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
- Zuletzt bearbeitet von CO2 am So, Jul 01, 2012 20:21, insgesamt einmal bearbeitet
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bedeutet wohl der Stream konnte nicht erstellt werden. Mag sein dass Du nicht die Be3rechtigung zum erstellen des Ordners hast. Ich würde einzelne Debugausgaben nach jeder Aktion ausführen oder es gleich mit debugstop anhalten und schrittweise durchgehen. Dann siehst Du an welcher Stelle es hapert. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sieht ziemlich korrekt aus.
Ausser, vllt, gibt das hier: Global WOFLOGDIR:String = GetUsrDataFile() + "\CO2 Software\World Of Farming\Logs" einen doppelslash wieder (bzw GetUsrDataFile() gibt hinten ein slash wieder? keine ahnung). Keine ahnung, ob das einen fehler verursachen kann, aber naja - den Writefile-path am besten mal als string speichern und ausgeben. Ich persönlich baue ständig mist mit sowas ![]() Ausserdem: ich finde es sauberer, wenn man erstmal schaut, ob ein ordner existiert, bevor man etwas erstellt. BlitzMax: [AUSKLAPPEN] If (FileType(WOFLOGDIR) =0 Then CreateDir(WOFLOGDIR); ansonsten, berechtigungen. Versuch mal spasseshalber, deine exe als administrator auszuführen, vielleicht gehts dann ![]() |
||
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok, habe alles durchgetestet: Es liegt nicht an der Berechtigung, sondern am Dateinamen. Blitzmax kommt anscheinend nicht mit CurrentDate() und CurrentTime() im Dateinamen klar...
Habs jetzt anders gelöst: Ich benutze eine Logdatei ("wof.log") und dort schreibe ich dann abschnittsweise rein (Also zum beispiel "Log Created on ****", usw.) Danke für die Hilfe |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du die dateinamen doch lieber mit einem Datum / uhrzeit hättest, solltest du die doppelpunkte rausfiltern.
Ich rate nun wieder einmal, doch unter windows ist ein : verboten als dateiname (gib spasseshalber mal bei einem neuen ordner / textdatei ein paar sonderzeichen ein. Win7 gibt mir eine meldung, das dies verboten sei!) (also : \ / ; * ' um ein paar zu nennen). Hierfür musst du nun einfach die Daten als string holen und die zeichen austauschen. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group