ich bin ein wenig ratlos. Ich versuche, ein paar Anweisungen in Procedures
auszulagen und scheitere scheinbar an den einfachsten Aufgaben.
Ziel meines Code ist es, SQLite3-Funktionalitäten in mein Program
einzubinden. Die Procedure SQLite3_Init() funktioniert tadellos. Hiernach
versuche ich eine Datenbank zu erstellen (SQLite3_OpenDatabase(sDB.s))
hierzu nehme ich folgenden Aufruf:
Code: Alles auswählen
If CallFunctionFast(sqlite3_open, "test.db", @sqlite3_dbHandle) = #SQLITE_OK
Debug sqlite3_dbHandle
Else
Debug 0
EndIf
Procedure, dann schmiert mir PB in der Zeile ProcedureReturn 1 ab (siehe
unten).
Wer weiss Rat?
Danke im voraus & Grüße ... Kiffi
Code: Alles auswählen
#SQLITE_OK = 0 ; Successful Result
Global sqlite3_open.l
Global sqlite3_dbHandle.l
Procedure.l SQLite3_Init()
If OpenLibrary(255,"sqlite3.dll")
sqlite3_open = IsFunction(255, "sqlite3_open")
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndProcedure
Procedure.l SQLite3_OpenDatabase(sDataBase.s)
If CallFunctionFast(sqlite3_open, sDataBase, @sqlite3_dbHandle) = #SQLITE_OK
Debug sqlite3_dbHandle
ProcedureReturn 1 ; Hier knallt's!
Else
ProcedureReturn 0
EndIf
EndProcedure
DeleteFile("test.db")
If SQLite3_Init()
CallDebugger
; Das funktioniert
If CallFunctionFast(sqlite3_open, "test.db", @sqlite3_dbHandle) = #SQLITE_OK
Debug sqlite3_dbHandle
Else
Debug 0
EndIf
MessageRequester("","!")
; Das nicht
If SQLite3_OpenDatabase("test.db")
Debug sqlite3_dbHandle
EndIf
EndIf
