Moin zusammen,
ich habe Code, der mittels einer TTimer Komponente in Delphi 2007 periodisch (einmal je Sekunde) aufgerufen wird. Dieser Code simuliert eine Maschine mit ihren Aktorstellungen (on/off). Nun möchte ich diese Aktorstellungen sekündlich in eine CSV Datei schieben. Und hier fängt das Problem an: im Debugger springt er mir über meine Zeile zum Wegschreiben einfach drüber - führt sie nicht aus.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var myFileData : String; begin if myFileStream <> nil then begin myFileData := ... myFileStream.WriteBuffer(PChar(myFileData)^, Length(myFileData)); end; end; |
Packe ich Code zum Öffnen und testweise Beschreiben mit einer Zeile in Form.Create() (also bevor TTimer gestartet wurde), so schreibt er in die Datei. Schreibe ich aus der OnTimer Routine in die Datei, so landet nichts im File, bzw. er springt mir über die Write() Zeile. Geöffnet wird die Datei ebenfalls im OnTimer-Code. Das myFilestream.Free passiert auch in OnTimer-Code. Auch nach Ausführen des Free wird die Datei nicht einmal angelegt.
Darf ich aus der OnTimer Routine nicht in TFilestreams schreiben?
thanx, Arne