Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Support

Pages: 1 ... 14 15 [16] 17 18 ... 59
226
COM / Re: Couple Api ideas for embedding
« on: June 14, 2014, 05:02:02 PM »
Thanks Dave for the upload and sitting on the edge of my chair getting this installed.  ;D

I have VB6 installed on my XP VirtualBiox which I'm going to try first before giving Win7 64 a try.

Does your extension module add XP theme support? 

227
COM / Re: Couple Api ideas for embedding
« on: June 14, 2014, 04:42:45 PM »
Quote from: Dave's README

This is a script basic extension to add support for creating COM objects
and calling their methods.

The COM objects must support the IDispatch interface so they can be used from
scripting clients. (This is very common)

Visual Studio 2008 project files have been included. They are set to use
the script basic include directory as relative path ./../include/

The COM.dll will be compiled into the current directory.

Notes:

Script basic only supports several data types internally, COM supports
many.

In testing with VB6 COM objects, the VB6 methods were forgiving
with data types. If the VB6 method expected a byte type, it would accept
a long (VT_I4) so long as the value was < 255.

The two main types this extension handles are longs and strings which it will
proxy between script basic and COM types automatically.

The CallByName function accepts an arbitrary number of arguments. These are
translated and copied into a DISPPARAMS array to be passed to the COM object.

The prototype of this function is:

callbyname object, "procname", [vbcalltype = VbMethod], [arg0], [arg1] ...

Where object is a long type returned from CreateObject() export.

If you are working with embedding ScriptBasic in your own application,
you can also use CallByName to operate on host created COM objects such as
VB6 Form, Class and GUI objects.

All you need is for the host application to provide an ObjPtr() to the
script to give it full access.

More details on this are available here:
  http://sandsprite.com/blogs/index.php?uid=11&pid=310

The VB6_Example.dll is a sample COM object that COM_VB6_Example.sb script uses
to show the results of some tests with common data types, retrieving strings and
longs, displaying a UI, and manipulating VB6 Form COM objects

In order to use this ActiveX Dll on your system you will have to run regsvr32 on it
or compile it yourself. The easiest way to register it is

start -> run -> type regsvr32 -> drag and drop the dll file into the run textbox to
have its path added as the argument.

remember com.dll has to be in the script basic modules directory and
com.inc should be in the includes directory to use these samples.

228
COM / Re: Debugger: Determine is a source line has executable code
« on: June 11, 2014, 08:32:55 AM »
Thanks for the SB array code! That will come in handy with ext. modules I write. Your debugger is coming along nicely and at an amazingly fast pace.

Great job!


229
COM / Re: Debugger: Determine is a source line has executable code
« on: June 10, 2014, 11:01:59 AM »
Quote
I havent looked into how to walk an array yet

 :)

A good look at scriba is about the only example you will have. On a positive note, under the covers an indexed based array looks no different than an associative array or a combination of both.

Quote
it could pop up a another form which lists all of its elements

Maybe popping a window showing the elements and their L/UBOUND ranges first then allow them to select an element's index to traverse showing the data it contains. If you get that working, I would like to chat about REF mappings.  ;)
 

230
COM / Re: Debugger: Determine is a source line has executable code
« on: June 10, 2014, 08:55:31 AM »
Hi Dave,

Will you be dealing with array variables as well with the debugger? Both DBG and SDBG doesn't.  :'(

I'll ping Peter and see if he can offer some direction on your issue.

John

231
COM / Re: Couple Api ideas for embedding
« on: June 05, 2014, 07:43:31 PM »
Great progress Dave!

Let me know if you need some help with testing.

Quote
Currently if more than one internal extension is compiled in besSUB_START and friends would conflict is only problem I see.

Each internal extension should be compiled into its own object library. I assume SB skips the whole DLL handshacking routine knowing that it's static linked. (no load/unload stuff going on or version checking needed) Peter would have to validate my understanding if it's true or not.


232
COM / Re: Couple Api ideas for embedding
« on: June 03, 2014, 05:25:20 PM »
Take a look and the IUP (PUI) SB extension module. All events go through a common message handler function. IupLoopStepWait() In DLLC the SB script functions are called directly. With my C extension module for IUP it returns back to SB on an event and i do an ICALL with the address of the script function. I have a set of C callback functions that IUP calls and sets global variables I reset after access in another call if needed.



233
COM / Re: Couple Api ideas for embedding
« on: June 03, 2014, 05:08:25 PM »
The IUP ATL container takes care of all the display and initialization issues. It doesn't provide method and and event support. There is Lua COM support for the container but that is about it.

234
COM / Re: COM progress
« on: June 03, 2014, 04:23:47 PM »
Dave,

Is this a 32 bit Windows only solution? IUP has a OCX container (ATL) that the webview control runs in. Maybe it could be used with your extension module.

Thanks for all the hard work you have put into this.

John

235
COM / Re: COM progress
« on: June 03, 2014, 08:03:58 AM »
Dave,

Great progress! I'm looking forward to start using some of this code.

Do you think this would work with Mono as well? (COM & Mono)

Quote
Note that there is very little that ties COM Interop to Windows. COM is a binary standard, so anyone who follows that standard can use the COM Interop functionality in mono.

John

236
COM / Re: Couple Api ideas for embedding
« on: May 30, 2014, 12:37:48 PM »
For a release build, Peter's method would be preferred as everything (.h, syntax tables, error codes, documentation, ...) is built from scratch from the C files.

Armando (AIR) created a custom SB master make file for gcc under Windows that works pretty well.


237
COM / Re: Couple Api ideas for embedding
« on: May 30, 2014, 08:21:13 AM »
Welcome Dave!

Interesting stuff. Can you post your Visual Studio project file when you get everything working? It would be nice to have an alternative way to compile Script BASIC for Windows other than Peter's setup.pl method. I current have VS 2013 install on Win 7 64.



238
Download / Script BASIC 2.2 Windows 64 bit beta release 3
« on: May 12, 2014, 12:02:59 AM »
Code: [Select]
ScriptBasic v2.2
Variation >>Win7_64_VC12<< build 3
Magic value 859001648
Node size is 16
Extension interface version is 11
Compilation: May 10 2014 18:09:25
Executable: C:\sb22_64\bin\sb64.exe

This should be the easiest Script BASIC beta install yet with everything you need from this post. Create a C:\sb22_64 directory and unzip the Script BASIC 2.2 Windows 64 bit beta (attached) within it. You will find in the bin directory a file named SCRIBA.INI. Copy that to your C:\Windows directory. From the control panel -> System -> Advanced Settings -> Environmental Settings -> System Path add C:\sb22_64\bin to it. That should be all that is needed to install the core Script BASIC environment.

In the bin directory there are two versions of Script BASIC. sb64.exe is the console mode interpreter. sbw64.exe is the Windows GUI only (used with IUP or background tasks) scripts. You will find some example scripts in the test directory. You should be able to run any of the SB scripts I have posted here on the forum.

The following steps are to install the dependences for the Script BASIC extension modules.

GFX - This is the SDL_gfx extension module. In the lib directory of the Script BASIC directory you will find a SDL_gfx.dll file that needs to go into your C:\Windows\System32 directory. (64 bit libraries) You will also need to download HERE and copy the SDL.dll file to the same directory.

IUP - This is the IUP (Portable User Interface) extension module. I have provided a subset of the IUP & CD downloads to include only the needed DLLs. These need to be copied into your C:\Windows\System32 directory.  IUP and CD DLL files.

MySQL - This is a complete MySQL (server/client) install without the install. You can unzip THIS into your root directory and follow the setup and getting started guide.

cURL - This is the cURL internet protocol interface extension module. Extract and copy the DLLs to the C:\Windows\System32 directory. The file can be downloaded HERE.

Note - You may need to rename sb64.exe back to scriba.exe as Microsoft VC12 doesn't like renaming executables.   :-\  I was getting exception errors exiting GFX examples. Renaming sb64.exe back to scriba.exe elevated the problem. MinGW doesn't seem to have this issue.


239
General Discussions / Re: sbhttpd fault
« on: May 01, 2014, 07:03:21 PM »
Attached is the Script BASIC GFX extension module, libSDL.so and libSDL_gfx.so for Debian 7.5 64 bit.

You will not be able to use the GFX frame rate control functions as Debian throws one of its classic no info errors.

Code: [Select]
gcc -w -fPIC -static -m64 -c -I/usr/include/SDL -o ../../bin/mod/obj/gfx/s_interface.o interface.c
interface.c: In function ‘gfx_SDL_framerateDelay’:
interface.c:2241:15: error: void value not ignored as it ought to be
make: *** [../../bin/mod/obj/gfx/s_interface.o] Error 1
admin@ip-10-168-133-91:~/sb22/source/extensions/gfx$

You may need to remark the gfx_SDL_framerateDelay reference in your gfx.inc file.



240
General Discussions / Re: sbhttpd fault
« on: May 01, 2014, 08:14:03 AM »
I wish you would have went with your original plans and gone the Ubuntu route.  :-\

I'll see if I can recompile a Debian version of this for you. I have no way to test it though.

Pages: 1 ... 14 15 [16] 17 18 ... 59