Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 27.05.2012, 18:10 Titel: Constructor/Destructor (Modul) |
|
|
Ich wollte mir ein logfile zu kontrollzwecken basteln und habe dafür ein constructor und destructor im Modul, aber scheinbar arbeitet das ganze so nicht richtig...
Wenn ich nichts weiteres mache als das Modul einzubinden und dann versuche etwas zu schreiben führt er immerhin des constructor und destructor aus (aber scheinbar bevor das programm zuende ist, denn weiter ist nichts im file)
In einem anderen modul wo ichs testen wollte legt er zwar die datei an, aber bleibt leer...
Code: |
''WriteToLog
#Define WriteToLog_DBG
#IfDef WriteToLog_DBG
Common Shared WLN as Integer
Public Sub WriteToLogConstructor Constructor
WLN = FreeFile
Open "FB_OpenGL.log" for Append as #WLN
Print #WLN,"Log begin: "+date+" | "+time
End Sub
Public Sub WriteToLogDestructor Destructor
Print #WLN,"Log end: "+date+" | "+time
Close #WLN
End Sub
Public Sub WriteToLog(logstring as string, logfunction as string="")
Dim WLN as Integer
WLN = FreeFile
Dim functionname as string
if len(logfunction) then
functionname = " | in procedure: "+logfunction
Else
functionname=""
End if
Print #WLN,logstring+functionname
End Sub
#EndIf
|
So getestet:
Code: |
#include "WriteToLog.bas"
WriteToLog "SCHREIB!!!!!!!!!!!!"
END ' HIER ERST DESTRUCTOR AUSFÜHREN!!!!! |
sind im Logfile dann immerhin:
Zitat: |
Log begin: 05-27-2012 | 18:03:50
Log end: 05-27-2012 | 18:03:50
|
und wie gesagt in einen tiefer verschachtelten programm legt er zwar die datei an, schreibt aber gar nicht erst was hinein...
was ist falsch? _________________
 |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 27.05.2012, 18:29 Titel: |
|
|
Du erstellst in der Schreibe-Sub eine neue lokale Variable WLN, die die globale überdeckt, das kann so also nicht funktionieren. Zudem weist du nochmal FreeFile zu, was wohl nicht sinnvoll ist, wenn du in die bereits geöffnete Datei schreiben willst. |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 27.05.2012, 18:43 Titel: |
|
|
Das ist irgendwie bei der umschreiberei hängen geblieben, danke
Wollte gerade noch behaupten es geht deswegen immernoch nicht aber hab den fehler gefunden...
es funktioniert nun richtig, der fehler lag das ich am ende meines testprograms ein sleep hatte und vorher ein opengl screen initiiert habe,
da hängt sich das programm für gewöhnlich auf... ohne sleep geht es nun
Danke _________________
 |
|
Nach oben |
|
 |
|