Author Topic: Script BASIC - VB6 OCX Forms  (Read 2983 times)

Offline AlyssonR

  • Advocate
  • Posts: 125
Re: Script BASIC - VB6 OCX Forms
« Reply #45 on: September 28, 2018, 01:32:45 AM »
Now that, I was aware of.

Offline John

  • Forum Support / SB Dev
  • Posts: 2191
    • ScriptBasic Open Source Project
Re: Script BASIC - VB6 OCX Forms
« Reply #46 on: October 03, 2018, 10:22:51 PM »
Here are a few links on COM and OLE automation courtesy of Eros.

I'm still trying to get to the bottom of how to use a VB6 OCX DLL in vtable mode rather than iDisptch.

Quote
V-table Interface

An interface definition has TypeKind = TKIND_INTERFACE. An interface is a set of pure virtual functions and an empty set of data members. If a type description contains any virtual functions, then the pointer to the VTBL is the first 4 bytes of the instance.

The type information fully describes the member functions in the VTBL, including parameter names and types and function return types. It may inherit from no more than one other interface.

With interfaces and dispinterfaces, all members should have different names, except the accessor functions of properties. For property functions having the same name, the documentation string and Help context should be set for only one of the functions (because they define the same property conceptually).


IDispatch Interface

These include objects (TypeKind = TKIND_DISPATCH) that support the IDispatch() interface with a specification of the dispatch data members (such as properties) and methods supported through the object's Invoke implementation. All members of the dispinterface should have different IDs, except for the accessor functions of properties.


Dual Interface

Dual interfaces (dual) have two different type descriptions for the same interface. The TKIND_INTERFACE type description describes the interface as a standard Component Object Model (COM) interface. The TKIND_DISPATCH type description describes the interface as a standard dispatch interface. The lcid and retval parameters, and the HRESULT return types are removed, and the return type of the member is specified to be the same type as the retval parameter.

By default, the TYPEKIND enumeration for a dual interface is TKIND_DISPATCH. Tools that bind to interfaces should check the type flags for TYPEFLAG_FDUAL. If this flag is set, the TKIND_INTERFACE type description is available through a call to ITypeInfo::GetRefTypeOfImplType() with an index of -1, followed by a call to ITypeInfo::GetRefTypeInfo().

« Last Edit: October 03, 2018, 10:32:46 PM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 2191
    • ScriptBasic Open Source Project
Re: Script BASIC - VB6 OCX Forms - VBCCR 1.6
« Reply #47 on: October 09, 2018, 04:03:37 PM »
Krool has release his 1.6 VBCCR common controls VB6 replacement OCX.

Release Notice

Quote from: Krool
I agree. VBCCR should not be the solution for everything. It is intended to get rid of the old OCX dependencies and to support Unicode. (and more handy, bugfixes, features etc..)
If new "modern" UI is needed then another alternative approach is better. (without comct32.dll)

« Last Edit: October 12, 2018, 08:55:33 PM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 2191
    • ScriptBasic Open Source Project
Re: Script BASIC - VB6 OCX Forms
« Reply #48 on: October 14, 2018, 06:22:20 PM »
The best example of a VB6 application interacting with the Script BASIC embedded, extension and preprocessor APIs is the SB IDE/Debugger for Windows 32 bit.