AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DataModule-Fehler : Zugriffsverletzung durch externe Methode
Thema durchsuchen
Ansicht
Themen-Optionen

DataModule-Fehler : Zugriffsverletzung durch externe Methode

Ein Thema von fragile · begonnen am 14. Nov 2008 · letzter Beitrag vom 19. Nov 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von fragile
fragile

Registriert seit: 4. Nov 2008
Ort: Amberg
87 Beiträge
 
Delphi 2009 Enterprise
 
#1

DataModule-Fehler : Zugriffsverletzung durch externe Methode

  Alt 14. Nov 2008, 13:02
Datenbank: MS SQL Server • Version: 2005 • Zugriff über: ADO
Hallo,

ich habe meine Datenquellen nachträglich in ein Datamodule ausgelagert. Jetzt bekomme ich immer eine "Zugriffsverletzung" beim Start der Anwendung,
sobald eine Methode meines Hauptformulars versucht, auf die Datenquellen des Datenmodule-Forms zuzugreifen.

Sind die Objekte im Datamodule-Formular quasi "private" und daher von den Procedures des Hauptformulars nicht nutzbar ?

1000 Danke für Tipps an einen Delphi/OO-Anfänger...

Gruß
FrankG
  Mit Zitat antworten Zitat
ATSV

Registriert seit: 8. Aug 2008
95 Beiträge
 
Delphi 7 Professional
 
#2

Re: DataModule-Fehler : Zugriffsverletzung durch externe Met

  Alt 14. Nov 2008, 13:05
rufst du die methoden im OnCreate auf? wenn ja dann pack das woanders hin denn das datenmodul wird erst nach der form erstellt
  Mit Zitat antworten Zitat
Benutzerbild von fragile
fragile

Registriert seit: 4. Nov 2008
Ort: Amberg
87 Beiträge
 
Delphi 2009 Enterprise
 
#3

Re: DataModule-Fehler : Zugriffsverletzung durch externe Met

  Alt 14. Nov 2008, 13:06
Im OnShow ... kann ich die Erstellungsreihenfolge irgendwo festlegen ?
  Mit Zitat antworten Zitat
ATSV

Registriert seit: 8. Aug 2008
95 Beiträge
 
Delphi 7 Professional
 
#4

Re: DataModule-Fehler : Zugriffsverletzung durch externe Met

  Alt 14. Nov 2008, 13:10
ok wenns im onShow ist kanns daran eig nicht liegen scheibst du auch immer
Datamodule1. davor?
  Mit Zitat antworten Zitat
Benutzerbild von fragile
fragile

Registriert seit: 4. Nov 2008
Ort: Amberg
87 Beiträge
 
Delphi 2009 Enterprise
 
#5

Re: DataModule-Fehler : Zugriffsverletzung durch externe Met

  Alt 14. Nov 2008, 13:10
Ich habe auch AfterScroll-Ereignisse auf den Datenquellen besetzt, muss quasi einen Filter über einem Table mitführen, sobald der Datencursor eines anderen Tables weiter"fährt"...außerdem setze ich je nach aktiviertem Tab die Datenquelle für meinen DBNavigator um...
  Mit Zitat antworten Zitat
Benutzerbild von fragile
fragile

Registriert seit: 4. Nov 2008
Ort: Amberg
87 Beiträge
 
Delphi 2009 Enterprise
 
#6

Re: DataModule-Fehler : Zugriffsverletzung durch externe Met

  Alt 14. Nov 2008, 13:12
Das passiert im Hauptformular bei FormShow :

Delphi-Quellcode:
   Arbeitsfenster.ActivePage := Tab_Firma;
   Initialisieren(DataModule1.Firma_Dataset, DataModule1.restlicherTable_Firma);
Da wird z.b. der DBNavigator mit einer Datenquelle aus DataModule1 besetzt...an der Stelle gibts die Zugriffsverletzung... die TADOConnection auf DataModule1 lasse ich immer aktiviert...
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

Re: DataModule-Fehler : Zugriffsverletzung durch externe Met

  Alt 14. Nov 2008, 13:16
Hallo,

wann genau passiert der Fehler? Beim Programmstart?

Dann liegt das daran, dass vom Formular aus schon Routinen im Datamodul aufgerufen werden, wenn das Datamodul noch nicht existiert. Weise die Ereignisroutinen im Formular erst zu Laufzeit zu, nachdem alles erstellt wurde.
Das kannst Du (unelegant) in der DPR-Datei vor Application.Run einfügen. OnCreate, OnShow... sind nicht geeignet.
Eventuell ginge es auch im OnCreate des Datamoduls, wenn das Formular definitiv vorher erstellt ist.
  Mit Zitat antworten Zitat
ATSV

Registriert seit: 8. Aug 2008
95 Beiträge
 
Delphi 7 Professional
 
#8

Re: DataModule-Fehler : Zugriffsverletzung durch externe Met

  Alt 14. Nov 2008, 13:19
also ich hatte zumindest nen ähnlichen fehler(weiß nciht mehr genau was das für einer war) in meinem aktuellen projekt. dann hab ich einfach den code vom Form1.OnCreate ins Datamodule1.OnCreate gelegt und es geht einwandfrei.
  Mit Zitat antworten Zitat
Benutzerbild von fragile
fragile

Registriert seit: 4. Nov 2008
Ort: Amberg
87 Beiträge
 
Delphi 2009 Enterprise
 
#9

Re: DataModule-Fehler : Zugriffsverletzung durch externe Met

  Alt 14. Nov 2008, 13:28
Der Fehler kommt nur am Anfang 4 mal , das Auslagern des Codes in DataModule1.OnCreate hat nichts gebracht.
Außerdem greift das AfterScroll-Ereignis nicht mehr so wie vor der Auslagerung ins Datenmodul, erst wenn ich einmal weiterscrolle greift der Filter;
vorher griff der Filter-Subqery schon beim Initialisieren (bei gleichem Code und gleicher Ereignis-Struktur)...
  Mit Zitat antworten Zitat
Benutzerbild von fragile
fragile

Registriert seit: 4. Nov 2008
Ort: Amberg
87 Beiträge
 
Delphi 2009 Enterprise
 
#10

Re: DataModule-Fehler : Zugriffsverletzung durch externe Met

  Alt 14. Nov 2008, 13:33
Ok,

bin einen Schritt weiter - keine Zugriffsverletzung mehr.

Folgende Konstellation:

Initalisierungscode weiterhin im OnCreate des DataModuls.
In "Projekt/Formulare" steht DataModule als letztes in der Reihe.

Allerdings kommt jetzt 4 mal "No Connection string" , muss ich wohl die DBConnect-Komponente shcon zur Entwurfszeit aktivieren ?!?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:05 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