Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#1

AV bei normalem Programmstart, bei Single Step nicht

  Alt 3. Sep 2006, 15:53
Datenbank: MS SQL Server 2000 • Zugriff über: ADO
Moin Zusammen,

wie der Titel schon sagt erhalte ich beim Start meines Programmes, einzeln und aus der IDE heraus, eine AV.
Setze ich auf Application.Run einen Breakpoint, und gehe im Einzelschritt durch das Programm, so geschieht dies, in Abhängigkeit der Geschwindigkeit des F7/F8-drückens, an verschiedenen Stellen, oder aber auch gar nicht.

Das erste mal tritt der Fehler beim Aufruf von TADOQuery.Open auf.
Setze ich einen Breakpoint auf diese Zeile und führe sie, nach einer kurzen Wartezeit, mit F8 aus: Alles OK.
An einer andere Stelle konnte ich dann beobachten, dass der Value eines Feldes der TADOTable erst wegen Zugriffsverletzung nicht angezeigt werden konnte, dann, nach einer kleinen Wartezeit auf dieser Zeile, wurde der Wert korrekt ausglesen.

Das Programm enthält, auf einem TDataModule je eine TADOConnection, TADOTable, TADOQuery und TDataSource.
Zur Anzeige/Bearbeitung enthält das Programm einige TDBEdit-Komponenten und einen TDBNavigator.
Bis zu einer Änderung hat der Zugriff auch funktioniert.

Was ich geändert habe:
Im Enterprise-Manager habe ich die anzusprechende Tabelle umbenannt, und um ein paar Felder ergänzt.
Das Umbenennen liess sich problemlos durchführen, da es keine Abhängigkeiten gab (und gibt).

Dann habe ich im Programm den Tabellennamen angepasst, und die neuen Felder hinzugefügt (TADOTable gelöscht, hinzugefügt, Connection und TableName gesetzt, und die Felder über "Add all fields" hinzugefügt.)

Durch Verwendung der Debug-DCUs konnte ich feststellen, dass die AV beim Aufruf von GetRecord in TDataSet.Resync auftritt.

Nachdem ich die Fehlermeldung bestätigt habe, funktioniert alles wie vorher...

Hat jemand eine Idee, was das sein kann?

[EDIT]
Ich habe auch schon mal die DCUs und EXE gelöscht, und einen Build durchgeführt: Kein Erfolg.
[/EDIT]
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat