![]() |
D2006 vermurkst Kompilation?
Hallo, ich hab hier n kleines Problemschen... Ich ruf ne Klassenmethode auf, die eine Windows-Message verarbeiten soll:
Delphi-Quellcode:
Und da gibts jetzt eine "Exception Lesen An Adresse 000008". Immer. Das ganze muss in der Handle-Methode in einem bestimmten bereich passieren, wenn ich da was auskommentiere, läufts ohne Murren.
procedure TFLogMan.OnWMCopyData(var Msg: TWMCopyData);
begin ShowMessage(BoolToStr(Assigned(Logman),True)); LogMan.Handle(Msg); end; Wenn ich da jetzt Haltepunkte reinsetz, wird die Zeile grün markiert und die Haltepunkte bekommen ein "x" verpasst - sprich, nicht identifizierbare Codestelle. Denke ich mir, vielleicht liegts an den ganzen Komentaren, gut. Machst du dir schnell eine Logfunktion:
Delphi-Quellcode:
Wenn ich damit aber jetzt logge, krieg ich nur absoluten Mist in die Datei.... sprich Kästchen. ich hab also keien Ahnung, was falsch läuft.
procedure Log(s:string);
var b: string; begin b := s + #13#10; with TFileStream.Create('C:\loglog.log',fmCreate) do begin try Write(b,length(b)); finally Free; end; end; end; Könnte es sein, dass Delphi da irgendwas vermurkst, so dass es a) die Breakpoints nicht mehr identifizieren kann b) die strings verwurschtelt c) sich bei irgendner adresse verhaspelt, was zu "Lesen von 00008" führt? |
Re: D2006 vermurkst Kompilation?
Probier mal des:
Delphi-Quellcode:
:zwinker:
procedure Log(s:string);
var b: string; begin b := s + #13#10; with TFileStream.Create('C:\loglog.log',fmCreate) do begin try Write(@b[1],length(b)); // Jetzt sogar der richtige Speicherbereich ... finally Free; end; end; end; |
Re: D2006 vermurkst Kompilation?
Schon gestern probiert.
Zitat:
EDIT: aaahhhh.... das @ kann man weglassen.... :wall: logging funzt jetzt. aber die exception bleibt. |
Re: D2006 vermurkst Kompilation?
Moin Lukas,
zwei Vorschläge: Lass mal das ShowMessage(BoolToStr(...)) weg, bzw. ersetzte es durch Assert(...) Ausserdem kannst Du zu mitloggen auch OutputDebugString verwenden. |
Re: D2006 vermurkst Kompilation?
danke. werd ich tun!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 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