AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zugriffsverletzung beim erstellen eines Datamoduls
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriffsverletzung beim erstellen eines Datamoduls

Ein Thema von Delbor · begonnen am 30. Jan 2022 · letzter Beitrag vom 31. Jan 2022
Antwort Antwort
Seite 1 von 2  1 2      
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

Zugriffsverletzung beim erstellen eines Datamoduls

  Alt 30. Jan 2022, 12:33
Datenbank: SQLite • Version: 3xxx • Zugriff über: FireDac
Hi zusammen

Die Fehlermeldung:
Zitat:
---------------------------
Im Projekt HomeOfficerFEProject.exe ist eine Exception der Klasse $C0000005 mit der Meldung 'access violation at 0x008f8a29: read of address 0x00000090' aufgetreten.
---------------------------
Und der Ausllöser, die erste zeile:

Delphi-Quellcode:
procedure TDMLSQLiteOfficerFE.DataModuleCreate(Sender: TObject);
begin
  Self.FDMoniFlatFileClientLink1.Tracing := False;
  Self.FDMoniFlatFileClientLink1.FileName := ExtractFilePath(Application.ExeName) + '\trace.txt';
  Self.FDMoniFlatFileClientLink1.Tracing := true;
end;
Und wiedermal: Ich finde nirgendwo im Embarcadero Wicki Angaben darüber, für was dieses Objekt gut ist. Den einzigen Hinweis lieferte mir LEO (tracing wird offenbar mit dokumentieren/verfolgen gleichgesetzt...)

Umsomehr: das bewusste Objekt wurde zur Entwurfszeit gesetzt, hat keinen Activ-Schalter, und somit gibts für diese AV auch (scheinbar)keinen Grund.
Was, zum Kuckuck, mache ich falsch??

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Zugriffsverletzung beim erstellen eines Datamoduls

  Alt 30. Jan 2022, 12:38
FDMoniFlatFileClientLink1 ist ungleich nil?
Wenn nein, dann ist das Rätsel schon gelöst.
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Zugriffsverletzung beim erstellen eines Datamoduls

  Alt 30. Jan 2022, 13:00
Hi Tigü
Zitat:
FDMoniFlatFileClientLink1 ist ungleich nil?
Wenn nein, dann ist das Rätsel schon gelöst.
Du meinst, ich müsste das Ding zur Laufzeit erzeugen? Oder was verstehe ich jetzt falsch?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zugriffsverletzung beim erstellen eines Datamoduls

  Alt 30. Jan 2022, 13:35
Ich finde nirgendwo im Embarcadero Wicki Angaben darüber, für was dieses Objekt gut ist.
Ich schon: Ablaufverfolgung und Überwachung (FireDAC)

Delphi-Quellcode:
procedure TDMLSQLiteOfficerFE.DataModuleCreate(Sender: TObject);
begin
  Self.FDMoniFlatFileClientLink1.Tracing := False;
  Self.FDMoniFlatFileClientLink1.FileName := ExtractFilePath(Application.ExeName) + '\trace.txt';
  Self.FDMoniFlatFileClientLink1.Tracing := true;
end;
Kann es sein, dass das Datenmodul von einem anderen abgeleitet ist und hier einfach ein inherited fehlt?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.079 Beiträge
 
Delphi 12 Athens
 
#5

AW: Zugriffsverletzung beim erstellen eines Datamoduls

  Alt 30. Jan 2022, 13:51
ExtractFilePath hat bereits einen \ am Ende. Wozu dann nochmal einen dazwischen?
Als einfaches Lösung gibt es seit Längerem Delphi-Referenz durchsuchenTPath.Combine.

Und wie wäre es, wenn man langsam mal lernt, wie der Debugger in Grundzügen zu benutzen ist?
Zitat:
FDMoniFlatFileClientLink1 ist ungleich nil?
Die Frage würde man sich dann selber beantworten können und jemand wüsste auch, wo weiter zu suchen ist.


Der Name FDMoniFlatFileClientLink1 klingt ja eher danach, als wenn die Komponente auf dem/der Datamodul/Form liegen sollte (im FormDesigner), was sie scheinbar nicht tut.


@Hersteller
Wenn die Hilfe absolut nichts zu sagen hat, was CodeInsight nicht auch schon kennst, dann darf die Hilfe auch gleich ganz gelöscht werden.
https://docwiki.embarcadero.com/Libr...FileClientLink
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (30. Jan 2022 um 13:58 Uhr)
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Zugriffsverletzung beim erstellen eines Datamoduls

  Alt 30. Jan 2022, 14:09
Hi Uwe Raabe

Zuerst mal vielen Dank für den interessanten Link!!

Zitat:
Kann es sein, dass das Datenmodul von einem anderen abgeleitet ist und hier einfach ein inherited fehlt?
Das Projekt ist nicht mehr ganz taufrisch. Von daher könnte es schon sein,das ich mal ein Datenmodul unter anderem Namen abgespeichert habe. Doch normalerweise erzeuge ich auch Datenmodule immer neu und popiere bewährten Code hinein. Trotzdem hab ich mal das inherited eingefügt - mit demselben Ergebnis.

@himitsu: Ich hab jetzt nur gerade mitgekriegt, dass du geposted hast und kurz mal reingeschaut:
Zitat:
ExtractFilePath hat bereits einen \ am Ende. Wozu dann nochmal einen dazwischen?
Zitat:
'/ /'
Das wäre also eine Lücke im Pfad. Nur schade, dass das nicht die ursache war.

Zitat:
Der Name FDMoniFlatFileClientLink1 klingt ja eher danach, als wenn die Komponente auf dem/der Datamodul/Form liegen sollte (im FormDesigner), was sie scheinbar nicht tut.
Eben doch. Und deswegen hab ich erst auch nach sowas wie Active oder Enabled gesucht.


Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (30. Jan 2022 um 14:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#7

AW: Zugriffsverletzung beim erstellen eines Datamoduls

  Alt 30. Jan 2022, 15:46
Der Link erwähnt auch diesen Schritt:
Zitat:
Fügen Sie den Verbindungsdefinitionsparameter MonitorBy=Xxx hinzu.
Ist dies denn bei der betreffenden Connection gewährleistet? Ich würde es zwar auch für einen Fehler halten, wenn es ohne dies kracht, aber wir versuchen ja erstmal das ganze zum Laufen zu bringen.

Kannst du denn im Debugger (mit Debug-DCUs) sehen, wo genau das Problem liegt?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Zugriffsverletzung beim erstellen eines Datamoduls

  Alt 30. Jan 2022, 19:58
Hi zusammen

Meine Schritte beim Debuggen :
Programmstart mit F9
formcreateprocedure.jpg
Beim Datamodul.Create mit F7
datamodulecreateprocedure.jpg
und hier weiter bis zur ersten Boolean-Zuweisung - dann knallts.
und Self ist nil...
debug.jpg

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.079 Beiträge
 
Delphi 12 Athens
 
#9

AW: Zugriffsverletzung beim erstellen eines Datamoduls

  Alt 30. Jan 2022, 21:21
Wieso rufst DU das OnCreate des DataModuls auf?

Und warum hat vorher niemand das Datenmodul erstellt?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Zugriffsverletzung beim erstellen eines Datamoduls

  Alt 30. Jan 2022, 22:50
Hi himitsu

Wieso rufst DU das OnCreate des DataModuls auf?
Das mache ich eigentlich immer so, da beim Create einiges zu erledigen ist. Aber dank dir habe ich da mal nachgesehen - es ist tatsächlich unter den automatisch erstellten Formularen...

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  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 23:03 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