![]() |
AW: AnyDAC (FireDAC) - Exception beim schließen einer TADConnection
Hallo,
Zitat:
Normalerweise informiert eine solche Klasse seinen "Visitor", dass sie freigegeben wird. Hier hilft nur ein Minimalprojekt, was den Fehler verursacht. Ich denke, sogar FastMM4 hilft hier nicht, weil es nur die 2. Stelle findet, wo der Zugriff bereits nicht mehr klappt, weil das Objekt nicht mehr existiert. Viel "Spaß" beim Debuggen (nicht böse gemeint). Ein Ansatz wäre ein Loggen von ClassName, Name (oder was auch immer sinnvoll ist) und das schrittweise Ausführen des Codes, um festzustellen, ab wann das Objekt in der Liste nicht mehr gültig ist. Ich empfehle eine Logdatei, die immer wieder den Class/Name (was auch immer) aller Klassen in der Liste schreibt. Die kann man sich per Notepad++ immer aktuell ansehen. |
AW: AnyDAC (FireDAC) - Exception beim schließen einer TADConnection
Zitat:
Vielen Dank für Eure Hilfe... |
AW: AnyDAC (FireDAC) - Exception beim schließen einer TADConnection
Hallo,
nach einiger Zeit des Debuggens haben wir zwei Fehlerursachen gefunden. Meine Testanwendung ist wie folgt aufgebaut:
Die hier im Thread beschriebene EAccessViolation tritt auf, wenn mehrfach (2-3 mal) unterschiedliche Datensätze geändert werden und hierbei entweder:
Andere Optionen die in der TADTable verändert wurden (z. B. FormatOptions.MapRules, DetailFields, UpdateOptions.KeyFields, ...) konnten wir ausschließen. Des Weiteren wurden auch in der TADConnection keine besonderen Veränderungen vorgenommen. Hat jemand eine Idee, warum es durch das ausschließen von fiBlobs aus den FetchOptions.Items, oder durch das Verwenden von RefreshRecords im Event BeforeEdit, zu solchen Problemen kommen kann? Machen wir vielleicht beim Abrufen der Blob Daten etwas falsch? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:25 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