AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi WriteFile schreibt Nonsense in Datei
Thema durchsuchen
Ansicht
Themen-Optionen

WriteFile schreibt Nonsense in Datei

Ein Thema von Lenny15 · begonnen am 5. Aug 2007 · letzter Beitrag vom 5. Aug 2007
 
Lenny15

Registriert seit: 5. Jan 2007
10 Beiträge
 
#1

WriteFile schreibt Nonsense in Datei

  Alt 5. Aug 2007, 20:46
Hi ,

Ich wollte eine Logdatei erstellen und dort Aktionen aufzeichnen, die so im Programmverlauf passieren.
Ich wollte dies explizit mit der Windows-API erreichen. Ich weiss, dass es auch AssignFile(), ReWrite() und Writeln() dafür gibt.
Aber etwas mit der Winows-API umgehen zu können schadet ja nicht, oder?

So habe ich es probiert:

Delphi-Quellcode:
procedure LogEvent(lpEventStr: PAnsiChar);
var
   logFilePath : Pchar;
   hFile : Thandle;

   ofStruct : _OFSTRUCT;
   BytesWritten : DWORD;
begin
  logFilePath := Pchar(ExtractFilePath(ParamStr(0))+'eventlog.txt');
  hFile := OpenFile(logFilePath,ofStruct, OF_READWRITE OR OF_CREATE);
  If hFile <> INVALID_HANDLE_VALUE Then
    begin
      SetFilePointer(hFile,0,nil,FILE_END);
      WriteFile(hFile,lpEventStr,Length(lpEventStr),BytesWritten,nil);
    end;
    CloseHandle(hFile);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  LogEvent('Start');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  LogEvent('Button klicked');
end;
Wenn ich nun das programm starte und ein paar mal auf den Button klicke steht am Ende soetwas in der Datei:
"�D�D"
Die Fragezeichen sind diese Kästchen.
Der Hexeditor sieht folgende Bytes in der Datei:
FC DB 44 00 6C F7 12 00 FA DB 44 00 6E E5

Weiss jemand wo der Fehler liegt und kann ihn mir bitte zeigen?
Ich bin etwas verwirrt, und weiss nich wo ich suchen soll.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 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-2025 by Thomas Breitkreuz