Data types with Bruce

Data Type web was great but i would have liked to see something on the Variant type which is now supported and it use with dot net calls.

The webinar Steve is referring to is here;
https://www.clarionlive.com/BrowseEpisodes/ww!594
the title is
Data Structures In Clarion - Part 1

As to your point Steve, although I mentioned Varients in passing, I did not spend any time on them because I was using this session to “start at the beginning” and cover the simple data types.
There is a long way to go in this series, and a lot of more complex data structures to consider.

That said, I likely don’t have a lot more (aka anything) to say on the topic of Variants, not least because I’ve never used them, and I’ve not done any .Net integrations. I’m sure all at ClarionLive would welcome those topics though and hopefully you will perhaps be brave enough to step up and present them?

cheers
Bruce

There is no chance High summer here in NZ that i can attend any meetings on line. However if i get time we will move a test over to clarion 11 and try some calls to dot net and see if anything turns up. I am not the computer science guy here that another man by the name of Allan Turner the script engines author.

This summer we are busy testing laws in relation to sculling rigs and the Italians are sending over a special rig for me to test before we return to Sweden in 2022.

Cheers Stev

OK - well on reading some more on Dot Net and Variants… in short its not supported… or sort of supported… and its likely you wont be able to pass a variant to dot net in a delegated function.

You will find examples of VB 6 calls to code that will marshal to a native Variant but only after you pass it as an object which of course clarion has no data type that matches VB 6’s object.

Variant in clarion is probably best for accessing win32 API ole calls that require a Variant data type.

It also appears that the Variant type does not really act as type less data type as it can get confused on conversion.

We pass data to dot net as long and bstring and also as addresses of function to be stored to support dot net delegates in csharp.

Its been a while but IRCC COM / OLE Interfaces based on IDispatch use all, or almost all, VARIANT types. Look in LibSrc at ADO. As you say this was targeted at making it easy for Vb 6 automation. Ugly for others,