The error in compiling is because I am using a DEMO or is syntax error?
Line 53
Worked with PureBasic
The SB will have the form designer?
Code: Select all
Declare QMCall0(Subrname.s)
Declare QMCall1(Subrname.s, Arg1.s)
Declare QMCall2(Subrname.s, Arg1.s, Arg2.s)
Declare QMCall3(Subrname.s, Arg1.s, Arg2.s, Arg3.s)
Declare QMCall4(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s)
Declare QMCall5(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s)
Declare QMCall6(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s)
Declare QMCall7(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s)
Declare QMCall8(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s)
Declare QMCall9(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s)
Declare QMCall10(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s)
Declare QMCall11(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s)
Declare QMCall12(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s)
Declare QMCall13(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s)
Declare QMCall14(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s, Arg14.s)
Declare QMCall15(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s, Arg14.s, Arg15.s)
Declare QMCall16(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s, Arg14.s, Arg15.s, Arg16.s)
Declare QMCall17(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s, Arg14.s, Arg15.s, Arg16.s, Arg17.s)
Declare QMCall18(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s, Arg14.s, Arg15.s, Arg16.s, Arg17.s, Arg18.s)
Declare QMCall19(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s, Arg14.s, Arg15.s, Arg16.s, Arg17.s, Arg18.s, Arg19.s)
Declare QMCall20(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s, Arg14.s, Arg15.s, Arg16.s, Arg17.s, Arg18.s, Arg19.s, Arg20.s)
Declare.s QMChange(Src.s, Old.s, New.s, Occ.l, Start.l)
Declare QMClearFile(Fileno.l)
Declare QMClearSelect(ListNo.l)
Declare QMClose(Fileno.l)
Declare.l QMConnect(Host.s, Port.l, User.s, Password.s, Account.s)
Declare.l QMConnected()
Declare.l QMConnectLocal(Account.s)
Declare.l QMConnectPool(Host.s, Port.l, User.s, Password.s, Account.s, PoolName.s)
Declare.l QMDcount(String.s, Delim.s)
Declare QMDebug(Type.l)
Declare.s QMDecrypt(EncryptedData.s, Keystring.s)
Declare.s QMDel(Src.s, Fno.l, Vno.l, SvNo.l)
Declare QMDelete(Fileno.l, Id.s)
Declare QMDeleteu(Fileno.l, Id.s)
Declare QMDisconnect()
Declare QMDisconnectAll()
Declare.s QMEncrypt(DecryptedData.s, Keystring.s)
Declare QMEndCommand()
Declare.s QMError()
Declare.l QMOpen(Filename.s)
Declare.s QMRead(Fileno.l, Id.s, *Err)
Global QMLib
Global Connected
Procedure OpenQMClientLibrary()
If QMLib = 0
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Linux
LibPath$ = "/usr/qmsys/bin/qmclilib.so"
CompilerCase #PB_OS_Windows
LibPath$ = "c:\qmsys\bin\qmclilib.dll"
CompilerEndSelect
QMLib = OpenLibrary(#PB_Any, LibPath$) <=========================== [16:15:35] [COMPILER] Line 53: OpenLibrary() is not a function (or not available in demo version), array, list, map or macro.
If QMLib = 0
PrintN("Cannot open " + LibPath$)
End
EndIf
EndIf
EndProcedure
Procedure CheckConnected()
If Connected = 0
PrintN("QMClient server function attempted when not connected")
End
EndIf
EndProcedure
Procedure QMCall0(Subrname.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 0)
EndProcedure
Procedure QMCall1(Subrname.s, Arg1.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 1, *Arg1)
EndProcedure
Procedure QMCall2(Subrname.s, Arg1.s, Arg2.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 2, *Arg1, *Arg2)
EndProcedure
Procedure QMCall3(Subrname.s, Arg1.s, Arg2.s, Arg3.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 3, *Arg1, *Arg2, *Arg3)
EndProcedure
Procedure QMCall4(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 4, *Arg1, *Arg2, *Arg3, *Arg4)
EndProcedure
Procedure QMCall5(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 5, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5)
EndProcedure
Procedure QMCall6(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 6, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5, *Arg6)
EndProcedure
Procedure QMCall7(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 7, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5, *Arg6, *Arg7)
EndProcedure
Procedure QMCall8(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 8, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5, *Arg6, *Arg7, *Arg8)
EndProcedure
Procedure QMCall9(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 9, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5, *Arg6, *Arg7, *Arg8, *Arg9)
EndProcedure
Procedure QMCall10(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 10, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5, *Arg6, *Arg7, *Arg8, *Arg9, *Arg10)
EndProcedure
Procedure QMCall11(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 11, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5, *Arg6, *Arg7, *Arg8, *Arg9, *Arg10, *Arg11)
EndProcedure
Procedure QMCall12(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 12, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5, *Arg6, *Arg7, *Arg8, *Arg9, *Arg10, *Arg11, *Arg12)
EndProcedure
Procedure QMCall13(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 13, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5, *Arg6, *Arg7, *Arg8, *Arg9, *Arg10, *Arg11, *Arg12, *Arg13)
EndProcedure
Procedure QMCall14(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s, Arg14.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 14, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5, *Arg6, *Arg7, *Arg8, *Arg9, *Arg10, *Arg11, *Arg12, *Arg13, *Arg14)
EndProcedure
Procedure QMCall15(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s, Arg14.s, Arg15.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 15, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5, *Arg6, *Arg7, *Arg8, *Arg9, *Arg10, *Arg11, *Arg12, *Arg13, *Arg14, *Arg15)
EndProcedure
Procedure QMCall16(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s, Arg14.s, Arg15.s, Arg16.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 16, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5, *Arg6, *Arg7, *Arg8, *Arg9, *Arg10, *Arg11, *Arg12, *Arg13, *Arg14, *Arg15, *Arg16)
EndProcedure
Procedure QMCall17(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s, Arg14.s, Arg15.s, Arg16.s, Arg17.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 17, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5, *Arg6, *Arg7, *Arg8, *Arg9, *Arg10, *Arg11, *Arg12, *Arg13, *Arg14, *Arg15, *Arg16, *Arg17)
EndProcedure
Procedure QMCall18(Subrname.s, Arg1.s, Arg2.s, Arg3.s, Arg4.s, Arg5.s, Arg6.s, Arg7.s, Arg8.s, Arg9.s, Arg10.s, Arg11.s, Arg12.s, Arg13.s, Arg14.s, Arg15.s, Arg16.s, Arg17.s, Arg18.s)
CheckConnected()
CallCFunction(QMLib, "QMCallxW", @Subrname, 18, *Arg1, *Arg2, *Arg3, *Arg4, *Arg5, *Arg6, *Arg7, *Arg8, *Arg9, *Arg10, *Arg11, *Arg12, *Arg13, *Arg14, *Arg15, *Arg16, *Arg17, *Arg18)
EndProcedure
Procedure.s QMChange(Src.s, Old.s, New.s, Occ.l, Start.l)
OpenQMClientLibrary()
*String = CallCFunction(QMLib, "QMChangeW", @Src, @Old, @New, Occ, Start)
If *string
String$ = PeekS(*String)
CallCFunction(QMLib, "QMFree", *String)
EndIf
ProcedureReturn String$
EndProcedure
Procedure.l QMChecksum(Src.s)
OpenQMClientLibrary()
Cs = CallCFunction(QMLib, "QMChecksumW", @Src)
ProcedureReturn Cs
EndProcedure
Procedure QMClearFile(Fileno.l)
CheckConnected()
CallCFunction(QMLib, "QMClearFile", Fileno)
EndProcedure
Procedure QMClearSelect(ListNo.l)
CheckConnected()
CallCFunction(QMLib, "QMClearSelect", ListNo)
EndProcedure
Procedure QMClose(Fileno.l)
CheckConnected()
CallCFunction(QMLib, "QMClose", Fileno)
EndProcedure
Procedure.l QMConnect(Host.s, Port.l, User.s, Password.s, Account.s)
OpenQMClientLibrary()
If Connected
QMDisconnect()
EndIf
Connected = CallCFunction(QMLib, "QMConnectW", @Host, Port, @User, @Password, @Account)
ProcedureReturn Connected
EndProcedure
Procedure QMConnectionType(Type.l)
CheckConnected()
CallCFunction(QMLib, "QMConnectionType", Type)
EndProcedure
Procedure.l QMConnectLocal(Account.s)
OpenQMClientLibrary()
If Connected
QMDisconnect()
EndIf
Connected = CallCFunction(QMLib, "QMConnectLocalW", @Account)
ProcedureReturn Connected
EndProcedure
Procedure.l QMConnectPool(Host.s, Port.l, User.s, Password.s, Account.s, PoolName.s)
OpenQMClientLibrary()
If Connected
QMDisconnect()
EndIf
Connected = CallCFunction(QMLib, "QMConnectPoolW", @Host, Port, @User, @Password, @Account, @PoolName)
ProcedureReturn Connected
EndProcedure
Procedure.l QMConnected()
OpenQMClientLibrary()
ProcedureReturn CallCFunction(QMLib, "QMConnected")
EndProcedure
Procedure.l QMDcount(String.s, Delim.s)
OpenQMClientLibrary()
ProcedureReturn CallCFunction(QMLib, "QMDcountW", @String, @Delim)
EndProcedure
Procedure QMDebug(Mode.l)
OpenQMClientLibrary()
CallCFunction(QMLib, "QMDebug", Mode)
EndProcedure
Procedure.s QMDecrypt(EncryptedData.s, Keystring.s)
OpenQMClientLibrary()
*String = CallCFunction(QMLib, "QMDecrypt", @EncryptedData, @Keystring)
If *string
String$ = PeekS(*String)
CallCFunction(QMLib, "QMFree", *String)
EndIf
ProcedureReturn String$
EndProcedure
Procedure.s QMDel(Src.s, Fno.l, Vno.l, SvNo.l)
OpenQMClientLibrary()
*String = CallCFunction(QMLib, "QMDelW", @Src, Fno, Vno, SvNo)
If *string
String$ = PeekS(*String)
CallCFunction(QMLib, "QMFree", *String)
EndIf
ProcedureReturn String$
EndProcedure
Procedure QMDelete(Fileno.l, Id.s)
CheckConnected()
CallCFunction(QMLib, "QMDeleteW", Fileno, @Id)
EndProcedure
Procedure QMDeleteu(Fileno.l, Id.s)
CheckConnected()
CallCFunction(QMLib, "QMDeleteuW", Fileno, @Id)
EndProcedure
Procedure QMDisconnect()
If Connected
CallCFunction(QMLib, "QMDisconnect")
Connected = 0
EndIf
EndProcedure
Procedure QMDisconnectAll()
If Connected
CallCFunction(QMLib, "QMDisconnectAll")
Connected = 0
EndIf
EndProcedure
Procedure.s QMEncrypt(DecryptedData.s, Keystring.s)
OpenQMClientLibrary()
*String = CallCFunction(QMLib, "QMEncrypt", @DecryptedData, @Keystring)
If *string
String$ = PeekS(*String)
CallCFunction(QMLib, "QMFree", *String)
EndIf
ProcedureReturn String$
EndProcedure
Procedure QMEndCommand()
CheckConnected()
CallCFunction(QMLib, "QMEndCommand")
EndProcedure
Procedure.s QMError()
OpenQMClientLibrary()
*String = CallCFunction(QMLib, "QMErrorW")
If *string
String$ = PeekS(*String)
CallCFunction(QMLib, "QMFree", *String)
EndIf
ProcedureReturn String$
EndProcedure
;===== QMOpen
Procedure.l QMOpen(Filename.s)
CheckConnected()
ProcedureReturn CallCFunction(QMLib, "QMOpenW", @Filename)
EndProcedure
;===== QMRead
Procedure.s QMRead(Fileno.l, Id.s, *Err)
CheckConnected()
*String = CallCFunction(QMLib, "QMReadW", Fileno, @Id, *Err)
If *string
String$ = PeekS(*String)
CallCFunction(QMLib, "QMFree", *String)
EndIf
ProcedureReturn String$
EndProcedure
att.,
Cleber