Problem beim Einbinden der SQLite3.dll in das Prog

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

PureBasic4.0 hat geschrieben:Ich werde heute trotzdem mal die PBOSL Version versuchen.
Das ist doch Quatsch! Fast alles, was die PBOSL_SQLite3 kann, kann auch
das Include (und zwar fehlerfreier, mit Support für Unicode und für die
Plattformen Win, Linux und Mac).

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

Und welche DLL muss ich da mitliefern? Habe es schon mit der SQLite.dll probiert; hat aber nicht funktioniert. Brauche ich da die SQLite3.dll?
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

edel hat geschrieben:Wenn du ne standalone Executable haben moechtest, kompilier dir aus dem Source 'ne statische Lib.
Wenn das so einfach wäre gabe es wohl funktionierende Versionen, ich kenne
nur eine sehr alte. Statische Libs. Aus dem Source erstellte konnte ich bisher
nicht in PB einbinden.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

PureBasic4.0 hat geschrieben:Und welche DLL muss ich da mitliefern? Habe es schon mit der SQLite.dll probiert; hat aber nicht funktioniert. Brauche ich da die SQLite3.dll?
Du kannst das Includepack updaten oder laden, da findeste meine Include
mit einer Zusatzfunktion, brauchste nur eine Zeile in Deinem Code anpassen
um die DLL aus dem Memory zu laden.
Die Include funktioniert nur mit der "SQLite3.dll", SQLite 1 + 2 werden nicht
unterstützt
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

OK. Jetzt weiß ich, welche DLL ich mitliefern muss. Habe jetzt das im IncludePack vorhandene Include benutzt (SQLite3_Include.pbi). So sieht mein Code aus:

Code: Alles auswählen

XIncludeFile "SQLite3_Include.pbi"
[...]
Global Table.SQ3_TABLEMAP
[...]
SQLiteExecute(DBHandle,"UPDATE Settings SET LastDevice = '"+Geraet$+"', LastProfile = '"+Profil$+"'",0,0)
Wird aber der SQLiteExecute ausgeführt, bekomme ich in dieser Zeile der Include:

Code: Alles auswählen

      If Not SQ3\exec(hDB, Statement, callback, cbpara)
einen Invaild Memory Access (IMA). Woran kann das liegen?

//edit: INSERT und DELETE funktionieren, aber UPDATE nicht.

//edit2: Auch nach mehreren SQLExecutes (alle) gibt es einen IMA. Manchmal nach 2 Executes, manchmal nach 10...
Hinweis: Alle Executes werden vom Benutzer gestartet und liegen daher zeitlich weit genug auseinander.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Antworten