AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Zugriffsverletzung nach cdsInit.FieldByName('Wert').GetData
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriffsverletzung nach cdsInit.FieldByName('Wert').GetData

Ein Thema von HiWieGehts · begonnen am 12. Jan 2009 · letzter Beitrag vom 12. Jan 2009
Antwort Antwort
HiWieGehts

Registriert seit: 19. Aug 2005
101 Beiträge
 
Delphi 10.4 Sydney
 
#1

Zugriffsverletzung nach cdsInit.FieldByName('Wert').GetData

  Alt 12. Jan 2009, 20:48
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?
Angehängte Dateien
Dateityp: dpr test_437.dpr (224 Bytes, 1x aufgerufen)
Dateityp: dfm main_913.dfm (2,2 KB, 1x aufgerufen)
Dateityp: pas main_169.pas (3,8 KB, 1x aufgerufen)
  Mit Zitat antworten Zitat
HiWieGehts

Registriert seit: 19. Aug 2005
101 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Zugriffsverletzung nach cdsInit.FieldByName('Wert').GetD

  Alt 12. Jan 2009, 21:51
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?
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:48 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