![]() |
Zugriffsverletzung nach cdsInit.FieldByName('Wert').GetData
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo,
schreibe in einem Programm für die DBGrids die Spaltenbreiten beim Ändern in eine Tabelle. Diese Daten werden beim erneuten Anzeigen der Grids wieder verwendet. Zunächst habe ich die Breiten in der Tabelle in einem Textfeld mittels AsInteger gespeichert. Hat prima funktioniert. Nun habe ich die das Datenfeld auf ftBytes geändert. Daher schreibe bzw. lese ich die Daten mit SetData bzw. GetData. Nun habe ich aber das Problem, dass beim Beenden des Programms immer eine Zugriffsverletzung auftritt, wenn zuvor mit "cdsInit.FieldByName('Wert').GetData(P);" Daten gelesen wurden und gleichzeitig ein 2. DBGrid oder/und ein zweites Clientdataset auf der Form ist. Die Änderung von ftString auf ftBytes habe ich gemacht, weil ich auch die Fensterposition als TRect in der gleichen Tabelle speichern wollte. Das funktioniert übrigends ohne Probleme. Habe zum Testen ein kleines Testprog geschrieben, welches hier als Anhang dabei ist. Vorgangsweise: die 3 Dateien in ein Verzeichnis kopieren Kompilieren Starten Breite einer beliebigen Spalte im Grid verändern Programm beenden Programm erneut starten Programm beenden --> Fehler Durch entfernen der "//" vor SetFormPos und GetFormPos kann das Speichetrn und Wiederherstellen der Fensterposition aktiviert werden, welches ohne Pobleme funktioniert. Kennt dieses Problem jemand bzw. hat jemand einen brauchbaren Tipp für mich? |
Re: Zugriffsverletzung nach cdsInit.FieldByName('Wert').GetD
Hallo,
habe eine Erweiterung des Codes durchgeführt. Mit bedingter Compilierung kann ich jetzt statt PInteger PRect verwenden. Das Funktioniert! Es scheint also, als würde PInteger die Probleme machen. Jemand eine Idee? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 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