Seite 2 von 2
Verfasst: 30.05.2007 17:55
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
Verfasst: 30.05.2007 18:01
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?
Verfasst: 30.05.2007 20:58
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.
Verfasst: 30.05.2007 21:00
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
Verfasst: 31.05.2007 14:49
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:
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.