Autor Beitrag
D. Annies
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: So 09.08.09 19:37 
Hi, Delpher,

bei dem folgenden Code - der klaglos compiliert wird - gibt es zur Laufzeit eine Zugriffsverletzung (bei Adresse 004EFBF3, Lesen von Adresse 00000058).
DaMod1 ist ein Datenmodul, die Tabelle kann ich irgendwie nicht in's DBGrid kriegen; auf die Daten selbst kann ich aber zugreifen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
  showmessage('hi');  // <- wird noch angezeigt!
  DaMod1.ADOTbBJS.Connection := DaMod1.ADOConnection1;  // ab hier knallt es
  DaMod1.ADOTbBJS.Active := false;                      
    DaMod1.ADOTbBJS.TableName := 'bjsdbt.dbf';   //BundesJugendSpiele
  DaMod1.ADOTbBJS.active := true;
  dbgrid2.datasource.DataSet := DaMod1.ADOTbBJS;
    showmessage('hi2');
  dbgrid2.Hint := DaMod1.ADOTbBJS.TableName;
  showmessage('re unten: '+ DaMod1.ADOTbBJS.TableName);


Wer hat dazu eine Idee? Ich bin absolut ratlos, irgendetwas habe ich übersehen, aber was?

Gruß, Detlef

_________________
ut vires desint, tamen est laudanda voluntas
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: So 09.08.09 20:02 
Steht der Code zufällig im Form Create?
Wenn ja, kann es gut sein, dass es das Datenmodul an der Stelle noch nicht gibt, da dies erst danach erzeugt wird..

Darauf lässt zumindest die Adresse $00000058 schließen, weil diese sehr niedrig ist.

_________________
PROGRAMMER: A device for converting coffee into software.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: So 09.08.09 20:23 
Hi, Xentar, ja, der Code steht in FormCreate - !

dann werde ich mal ändern - ich melde mich wieder,
Det

P.S. äh, wo sollte ich den Code denn hinstellen? :oops:

_________________
ut vires desint, tamen est laudanda voluntas
DelphiMarkus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

OpenSuSE
Delphi 2009 Pro., Lazarus
BeitragVerfasst: So 09.08.09 20:30 
Hallo!

Am besten in FormShow. So hat man mir es zumindest beigebracht und bisher hatte ich auch noch keine Probleme damit.
Probier es einfach mal aus, aber in FormShow sollte es gehen. :)
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: So 09.08.09 20:44 
Danke dir - soweit gut, aber zur Laufzeit knallt es Lesen von Adresse 00000030 bei der folgenden Zeile:

ausblenden Delphi-Quelltext
1:
DBGrid2.datasource.DataSet := DaMod1.ADOTbBJS;					


Warum das?

_________________
ut vires desint, tamen est laudanda voluntas
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: So 09.08.09 21:12 
user profile iconD. Annies hat folgendes geschrieben Zum zitierten Posting springen:
Danke dir - soweit gut, aber zur Laufzeit knallt es Lesen von Adresse 00000030 bei der folgenden Zeile:

ausblenden Delphi-Quelltext
1:
DBGrid2.datasource.DataSet := DaMod1.ADOTbBJS;					


Warum das?


Was sagt der Debugger zu DaMod1? Ich würde auf nil tippen -> Datenmodul ist noch nicht erzeugt.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: So 09.08.09 21:16 
Danke auch dir, Bernhard,

der Fehler ist jetzt weg - ich hatte die folgenden zwei Einträge vergessen:

ausblenden Delphi-Quelltext
1:
2:
  DBGrid2.datasource auf DaMod1.DataSource1 setzen      im OI form1
  DaMod1.DataSource1.Dataset auf ADOTbBJSdbt setzen     im OI DaMod1


Na, ja, bin noch etwas neu bei ADO ...

bis denn, Detlef

_________________
ut vires desint, tamen est laudanda voluntas