Client:
Code:
'=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* 'SED_PBWIN '=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* ' A simple Client / Server example '****************************************************************************** ' James C. Fuller ' August 8,2008 ' [email protected] '------------------------------------------------------------------------------ 'COMPILE IBoxServer.Bas First 'Then open the IBOX.TLB with PBRow to create the IBOX.INC File '****************************************************************************** 'Include file created with PBrow #INCLUDE "IBOX.INC" '------------------------------------------------------------------------------ FUNCTION PBMAIN() AS LONG LOCAL oIBox AS IIBOX LOCAL sName AS STRING oIBox = NEWCOM CLSID $CLSID_CIBOX LIB "IBOX.DLL" IF ISNOTHING (oIBox)THEN ? "No oIBox" EXIT FUNCTION END IF sName = oIBox.Show("Enter Name") ?"sName = "+sName END FUNCTION
Code:
'=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* 'SED_PBWIN '=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* 'A very simple Com Server Example for use with IBOXCLIENT.BAS 'Compile this first. '****************************************************************************** ' James C. Fuller ' August 8, 2008 ' [email protected] '****************************************************************************** #COMPILE DLL "IBOX.DLL #DIM ALL #COM NAME "IBOX" #COM GUID GUID$("{2594918F-1131-488C-A11E-CFAFB4A17D36}") $cIBoxGuid = GUID$("{4B512D6D-B7FF-40FB-80EE-B0224C8DB7D6}") $iIBoxGuid = GUID$("{D955C227-7321-448A-89EC-7DEEC9B9661A}") GLOBAL UserName AS STRING CLASS cIBox $cIBoxGuid AS COM INSTANCE hDlg AS DWORD INSTANCE Result,w AS LONG INTERFACE iIBox $iIBoxGuid : INHERIT DUAL METHOD Show<400>(BYVAL Param1 AS STRING) AS STRING w = INT(LEN(Param1) * 5) ' width of winidow IF w < 105 THEN w = 105 END IF DIALOG NEW 0, Param1,,, (w + 40), 30 TO hDlg CONTROL ADD TEXTBOX, hDlg, 101, "", 14, 9, (w - 28), 12 CONTROL ADD BUTTON, hDlg, %IDOK, "OK", w, 9, 30, 14, 1 CALL OkButton CONTROL SET FOCUS hDlg,101 DIALOG SHOW MODAL hDlg TO Result IF Result THEN METHOD = UserName END IF END METHOD END INTERFACE END CLASS CALLBACK FUNCTION OkButton () AS LONG IF CBCTLMSG = 0 THEN CONTROL GET TEXT CBHNDL, 101 TO UserName DIALOG END CBHNDL, 1 FUNCTION = 1 END IF END FUNCTION
Attached is the source and the exe.
James