Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Speicherfehler in Zusammenhang mit QuickReport (https://www.delphipraxis.net/181162-speicherfehler-zusammenhang-mit-quickreport.html)

menten 21. Jul 2014 10:15

Delphi-Version: XE5

Speicherfehler in Zusammenhang mit QuickReport
 
Hallo zusammen,

ich sitze gerade an der Migration einer Anwendung von Delphi 7 nach XE5 und habe da ein Problem durch massive Speicherschutzverletzungen. Die Anwendung nimmt über die serielle Schnittstelle Messwerte auf, speichert sie in eine Datenbank und wertet sie dann aus. Gedruckt werden die Ergebnisse mittels Quickreport incl. QRChart.

Grundsätzlich funktioniert auch alles, nur wenn ich einen Quickreport in der Vorschau offen hatte und dann versuche, die Anwendung zu schließen, kommt es zu Speicherschutzverletzungen beim destroyen eines Fenster, welches mit dem Drucken unmittelbar nichts zu tun hat. Beim Debuggen habe ich heraus gefunden, das Komponenten aus diesem Fenster offensichtlich nicht mehr existieren bzw. der Speicher überschieben wurde.

Die Anwendung verwendet folgende Komponenten: DevExpress, LMDTools, nrComm, TChart Standard, QuickReport, Apollo Dataset. Alle Komponenten sind in aktuellen Versionen installiert.

Hat jemand eine Idee, was das sein könnte?

Danke für jede Hilfe
Stefan Menten

Der schöne Günther 21. Jul 2014 10:18

AW: Speicherfehler in Zusammenhang mit QuickReport
 
Ich bin dafür jetzt keiner mit wirklich Ahnung, aber hast du keine Hilfen bzgl. AVs wie madExcept (kenne ich nicht) oder wenigstens der aufgebohrten FastMM4-Version mal reingeschraubt?

menten 21. Jul 2014 10:38

AW: Speicherfehler in Zusammenhang mit QuickReport
 
Hab heute morgen versucht, mit JclDebug den Aufrufstack zu speichern, komme aber noch nicht mal soweit, dass "Application.OnException" gerufen würde.

"madExcept" muss ich ausprobieren.

Gruß
Stefan

menten 22. Jul 2014 10:49

AW: Speicherfehler in Zusammenhang mit QuickReport
 
madExcept habe ich ausprobiert. Das ist soweit ganz schön, liefert aber insgesamt nicht viel mehr als der interne Aufrufstack. Den Fehler habe ich aber gefunden. Auf der Vorschauseite für die Quickreports waren einige Navigationsbuttons vom Typ "LMDSpeedButton". Mir war aufgefallen, das die ihre Glyphs nicht richtig dargestellt haben. Ich habe die Buttons dann komplett ersetzt und damit war der Fehler verschwunden.

Stefan Menten

Bernhard Geyer 22. Jul 2014 20:56

AW: Speicherfehler in Zusammenhang mit QuickReport
 
Verwendest du PNGs?
Falls ja waren in den D7-DFM's Dateien noch die LMD-PNGs eingebunden die aber nicht so richtig mehr mit XE5 ausgelesen werden können da Delphi ja mittlerweile (unter anderen Klassenname) eine eigene PNG-Implementierung mitbringt.

Du musst in der LMDComps.in die Zeile {$DEFINE LMD_REGISTERPNG} aktivieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz