ZEOS "Access violation"

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Jedi
Beiträge: 25
Registriert: Mi 26. Nov 2014, 09:41

ZEOS "Access violation"

Beitrag von Jedi »

Hallo,
ich habe jetzt ein neues Projekt anlegen wollen und bin schon am Anfang auf ein Problem gestoßen:
Auf einem Formular will ich die Verbindung mit einer sqlite-DB (sqlite-3) herstellen und habe dazu eine TZConnection und eine TZQuery eingefügt.
Die Verbindung TZConnection zur Datenbank läßt sich einrichten und connectet ist True.
TZQuery hat den entsprechenden SQL-String ('Select * From Waren") und als Connection die TZConnection.
Sobald ich die TZQuery auf active = True setzen will, erhalte ich die Fehlermeldung "Access violation".
Die Sqlite3.dll ist vorhanden.
Ich habe nun fast alles mögliche versucht, aber keine Lösung gefunden. Kann mir jemand einen Rat geben?

Win 7 /64
Lazarus 1.2.6
ZEOS 7.1.4 stable

Danke
Jedi

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: ZEOS "Access violation"

Beitrag von hde »

Ich habe den Verdacht, dass Zeos 7.1.4 stable unter Win7 /64 Probleme mit SQLite hat, die es offenbar unter Zeos 7.1.3a stable nicht gab.
Unter Delphi XE7 werden als integer definierte Felder falsch ausgelesen, als LargeInt.
Versuch mal statt select * einzelne Felder auszulesen.
hde

Jedi
Beiträge: 25
Registriert: Mi 26. Nov 2014, 09:41

Re: ZEOS "Access violation"

Beitrag von Jedi »

Hat leider auch nichts gebracht. Die Fehlermeldung kommt immer noch.

Gruß
Jedi

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: ZEOS "Access violation"

Beitrag von af0815 »

Nur so auf Verdacht die Fragen:

Kompilierst du für win32 oder win64 ?

Ist die DLL für win32 (sqlite3.dll) oder win64 (sqlite3-64.dll) ? Die auf der Homepage von SQLite sind alle nur 32Bit.

Wo liegt die DLL ? Ich lege meine sowohl ins Basisverzeichnis von Lazarus UND in das Verzeichnis meiner Applikation.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Jedi
Beiträge: 25
Registriert: Mi 26. Nov 2014, 09:41

Re: ZEOS "Access violation"

Beitrag von Jedi »

hallo,
ich arbeite mit der sqlite3.dll. Ich habe diese jetzt nochmals mit einer anderen Version, die aus der sqlite3.dll und der sqlite3.def besteht ersetzt.
Die Dateien habe ich nun schon im Lazarus-Pfad, im Windows-Pfad, im Windows/System32 - Pfad und auch im Windows/System - Pfad.
Mit dem Austausch der Dateien kann ich nun in der IDE alles ohne Probleme auf connected und active setzen, ohne das der Fehler auftritt. Dafür kommt jetzt beim Ausführen des Programmes
sofort ein neuer Fehler ... Exception-Klasse: "External: SIGSEGV....".
Ich habe ein neues Testprogramm erstellt: Nur Form1, ZConnection, ZQuery, Dataset und ein DBEdit, keine Zeile Quelltext. Alles verbunden und ich sehe die Daten im DBEdit.
Beim Start des Programms kommt sofort der o.g. Fehler.
Nächster Test war ZQuery active := False und mit Button auf active := True. Programm startet normal, bei Klick auf Button kommt der Fehler sobald ZQuery active = True ist.

Ich habe keine Idee mehr, wo ich noch suchen soll.

Gruß
Jedi

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: ZEOS "Access violation"

Beitrag von af0815 »

Wenn du deine Exe jetzt einmal testweise in den Pfad der Lazarus Exe verschiebst, geht dann deine Exe ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Jedi
Beiträge: 25
Registriert: Mi 26. Nov 2014, 09:41

Re: ZEOS "Access violation"

Beitrag von Jedi »

Danke an Euch für die Antworten.
Ich habe Lazarus jetzt mal auf meinem anderen Rechner mit win 8.1 installiert und alles läuft wie es soll.
Nun kann ich in Ruhe ausprobieren, wo der Fehler bei meinem anderen System liegt. Deinstallation ist schon
erledigt, morgen will ich nochmals eine neue Installation vornehmen und versuchen den Fehler zu finden.
Falls es gelingt, erfahrt Ihr natürlich auch, woran es gelegen hat!

Gruß
Jedi

Antworten