IT-Berater: Theo Gottwald (IT-Consultant) > Brians Board

64 bit COM programing with PluriBASIC

(1/3) > >>

Brian Alvarez:
 Now that i have some major areas of PluriBASIC for 64 bit complete, I would like to get COM programming done.

 I know the basics of COM programming, but i dont know how to emulate things in Oxygen, or if it is possible at all. I would like
to be able to create advanced and complex COM applications.

 PluriBASIC can now compile 64bit applications with Oxygen, and it can also use most of Jose Roca's includes to do so. Parsing COM
classes is no problem, but i dont know how to emulate them in Oxygen.

 So, i am summoning the Oxygen and COM gurus out there. :)

 I would like to support:

* Creating COM clients.
* Creating COM server applications, including (of course) notifications and listeners.
* Supporrt COM classes.
* Support COM statements for object creation.
* Compilation of existing code + New and easier ways to do things. I dont know if 64 bit COM programming is different than 32 bit COM programming either (if required).

 Anobody wants to play? :)

Brian Alvarez:
By the way, VARIANT variables already work fine for the most common data types and can be enhanced for more.

Brian Alvarez:
PluriBASIC + Oxygen currently supports:

VARIANTVT
VARIANT$
VARIANT$$
VARIANT#

And sintax like:

LOCAL V AS VARIANT

V = "Some text"

? VARIANT$(V)
? STR$(VARIANTVT(V))   ' Messagebox displays 8, which is %VT_BSTR

The internal Variant header is standard.

The Following commands are there but need some code inside:


--- Code: ---GUID$
GUID$$
GUIDTXT$
CLSID$
--- End code ---

These statements are also valid:

LET V = SomeUDT AS STRING

SomeUDT = VARIANT$(BYTE, V)

Added:
All VARIANT's bstrings are cleared when the variable goes out of scope too.

Added:
Also, VARPTR works fine with variants. Declaring VARIANT's as PTR works too

LOCAL V AS VARIANT PTR

V = ADDRESS

? STR$(VARIANTVT(@V))

Mike Lobanovsky:

--- Quote from: Brian Alvarez on December 03, 2018, 07:13:08 AM --- PluriBASIC can now compile 64bit applications with Oxygen ...
--- End quote ---

Brian,

With all my respect for your indie effort to keep PowerBASIC afloat in the absence of its historical captain(s), so far it's been only your own words to testify that PluriBASIC is capable of doing just what you say it can do -- to any significant degree of proficiency.

Where, how, on what conditions, and at what price can I get me a copy of PluriBASIC to run my own insider tests to assert its compatibility with its prototype?


--- Quote ---... and it can also use most of Jose Roca's includes to do so.
--- End quote ---


Are you perfectly sure that would be in line with Jose's own policies regarding the legitimacy of use of his header files in any paradigm other than PowerBASIC and FreeBASIC alone? I do not see either PluriBASIC or OxygenBasic on that very short list of legit uses.

Until the above issues are addressed and resolved successfully, I'm afraid your attempt at


--- Quote ---... summoning the Oxygen and COM gurus out there. :) ... Anobody wants to play? :)
--- End quote ---

is likely to be negative, especially in view of, alas, a very limited number of O2 users in the first place.

Brian Alvarez:
 Hello mike, PluriBASIC is capable of doing what i said, with the tools i said. I guess i am the only one 100% sure that there is nothing more required than my word. :)


--- Quote ---Are you perfectly sure that would be in line with Jose's own policies regarding the legitimacy of use of his header files in any paradigm other than PowerBASIC and FreeBASIC alone?
--- End quote ---

No. To be honest I have to admit I am guilty of not taking the time to see what the headers were permited for... My apologies to Jose. But i hope that is not an impediment for getting permission to. Otherwise I will not have any other option than, not using them. My intentions were not to break any rules (otherwise i would not have said that so openly), my intentions were an attempt to say "hey, we are going somewhere with this!".

 In fact, PluriBASIC has its own set of "headers" which it includes when it detects that some feature has been used. Automatically. Those are not complete though.

Navigation

[0] Message Index

[#] Next page

Go to full version