Code: Select all
' TinyDialog.bi
#IFNDEF __TINYDIALOG_BI__
#DEFINE __TINYDIALOG_BI__
#INCLUDE ONCE "crt.bi" ??? MODIFICATION full path necessary TO avoid 'not found ...' compile error ??? check your installation !!!
TYPE TinyDialog
...
...
PRIVATE:
...
...
AS ShowDialog AS FUNCTION CDECL(AS ZSTRING PTR, AS ZSTRING PTR, AS INTEGER, AS INTEGER, AS ANY PTR) AS INTEGER
AS ANY PTR hLib
END TYPE
CONSTRUCTOR TinyDialog (BYREF sTitle AS STRING)
strTitle = TRIM(sTitle)
IF LEN(strTitle) = 0 THEN strTitle = "tiny dialog"
strOk = "OK" : strCancel = "Cancel"
#IF __FB_UNIX__
CONST ddl_n = "TinyDialog.so"
#ELSE
CONST ddl_n = "TinyDialog.dll"
#ENDIF
hLib = DYLIBLOAD(dll_n)
IF hLib THEN
ShowDialog = DYLIBSYMBOL(hLib,"SHOWDIALOG")
IF @ShowDialog = 0 THEN
? "error: can't locate 'ShowDialog()' in '" & dll_n & "' !"
END IF
ELSE
? "error: can't load '" & dll_n & "' !"
ENDIF
END CONSTRUCTOR
DESTRUCTOR TinyDialog()
this.Clear
IF hLib THEN DYLIBFREE(hLib)
END DESTRUCTOR
...
#ENDIF