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

Offline AlyssonR

  • Advocate
  • Posts: 78
Re: Script BASIC - VB6 OCX Forms
« Reply #30 on: September 11, 2018, 01:30:17 AM »
As to what BASICs support COM/OLE - I have no idea.

Most could, but how many do?

Offline John

  • Forum Support / SB Dev
  • Posts: 1765
    • ScriptBasic Open Source Project
Re: Script BASIC - VB6 OCX Forms
« Reply #31 on: September 11, 2018, 10:58:26 AM »
According to the hard core WinAPI coders, COM/OLE automation is for pussies. I on the other hand value my time and try to give my clients their money's worth by working on their requirements and less on pre-project framework creation.

Offline AlyssonR

  • Advocate
  • Posts: 78
Re: Script BASIC - VB6 OCX Forms
« Reply #32 on: September 12, 2018, 01:32:44 AM »
Hard Core Win/API coders are all known to be crazy  ;D

COM/OLE was originally designed to simplify inter-process communications. Why re-invent the wheel every time you want to do something - and then have to re-re-invent it when a new version of Windows does something different?

If it's a performance-critical application, I can see it, but for most users? A few milliseconds on a screen-load isn't even enough to focus on the next page of data input. We wait longer for a web page to load up.


Offline John

  • Forum Support / SB Dev
  • Posts: 1765
    • ScriptBasic Open Source Project
Re: Script BASIC - VB6 OCX Forms
« Reply #33 on: September 12, 2018, 08:40:16 AM »
The VB6 OCX based Online Dictionary loads instantly. You would never know it's not a compiled application.

Offline AlyssonR

  • Advocate
  • Posts: 78
Re: Script BASIC - VB6 OCX Forms
« Reply #34 on: September 14, 2018, 01:53:03 AM »
Impressive - but when COM/OLE was first developed, machines were much slower.

Remember that a lot of software suffers from bloat - and saving a few clock cycles here and there on a few thousand program threads will take a program from glacial slowness to cold-rice-pudding.

Of course, there's also the Oooooh!  SHINY! NEW! effect that has developers running like lemmings toward the latest and greatest tool (.NET springs to mind here), regardless of whether it is a necessary change or not.

IMHO, COM/OLE was an excellent software device that was dropped for no good and enduring reason - it is more flexible in many ways than the more recent process interfacing API. Certainly, it is better encapsulated for use.

Offline John

  • Forum Support / SB Dev
  • Posts: 1765
    • ScriptBasic Open Source Project
Re: Script BASIC - VB6 OCX Forms
« Reply #35 on: September 14, 2018, 01:55:03 PM »
It's going to be really hard for Microsoft to kill off COM/OLE automation as it is the skeleton of Office. People count on it gluing their world together.

VB6 may be unsupported but VBA is alive and well. COM/OLE automation is used extensively under VBA. (Excel, Word, Outlook, ..., QuickBooks desktop, Crystal Reports, the list goes on and on)

« Last Edit: September 14, 2018, 09:54:48 PM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 1765
    • ScriptBasic Open Source Project
Re: Script BASIC - VB6 OCX Forms
« Reply #36 on: September 15, 2018, 09:56:15 AM »
I'm trying to make the OLD OCX a dual interface but unable to find the checkbox that does so. No luck in the project properties.

The Oxygen Basic DLLC extension module supports a COM direct interface. I'm trying to get the Online Dictionary example to work as a non-iDispatch automation server. I'm using DLLC to prototype the direct interface and once it works, a generic include/library for O2 can be created. (removing SB from the picture)

« Last Edit: September 15, 2018, 09:35:04 PM by John »

Offline AlyssonR

  • Advocate
  • Posts: 78
Re: Script BASIC - VB6 OCX Forms
« Reply #37 on: September 17, 2018, 06:12:32 AM »
I suspect that might only be available when you create an ActiveX DLL, as below

Offline John

  • Forum Support / SB Dev
  • Posts: 1765
    • ScriptBasic Open Source Project
Re: Script BASIC - VB6 OCX Forms
« Reply #38 on: September 17, 2018, 06:31:46 AM »
It is an ActiveX DLL. I think I need to import the typelib for v-table (dual interface) access.

From what I've read, v-table (direct)) rather than iDispatch automation is twice as fast.
« Last Edit: September 19, 2018, 11:20:20 PM by John »

Offline John

  • Forum Support / SB Dev
  • Posts: 1765
    • ScriptBasic Open Source Project
Re: Script BASIC - VB6 OCX Forms
« Reply #39 on: September 19, 2018, 07:58:21 PM »
At this point due to the lack of interest, I'm going to move on with this for my own needs and stop trying to promote the concept to others. In most programmers minds VB6 is dead and COM/OLE is for those still using it in MS Office automation using VBA.

Thanks AlyssonR for taking the time to provide your feedback!
« Last Edit: September 19, 2018, 08:01:24 PM by John »