Issue-#23: fixing bugs in WinApi plus some extensions

User avatar
Josef Templ
Posts: 2047
Joined: Tue Sep 17, 2013 6:50 am

Re: Issue-#23: fixing bugs in WinApi plus some extensions

Post by Josef Templ »

There is more than WinApi in subsystem Win.
There is for example an interface to OpenGL, to ODBC, to OLE, etc.
There could be another interface module for shlwapi.dll in subsystem Win.
WinApi is quite large and shlwapi.dll also contains a lot of stuff.
So, an additional interface module would be the right approach, I think.
If anybody would prepare it, we can easily add it to our distribution.

- Josef
User avatar
DGDanforth
Posts: 1061
Joined: Tue Sep 17, 2013 1:16 am
Location: Palo Alto, California, USA
Contact:

Re: Issue-#23: fixing bugs in WinApi plus some extensions

Post by DGDanforth »

OK, let me try again.

What is the purpose of WinApi?
In a complete BB access to the underlying operating system would not be needed.

Don't get me wrong. I use WinApi frequently but then only to supplant, augment, features
that are missing from BB.

It feels wrong that WinApi is such an important component of BlackBox. It should be hidden.

I can argue the other side and say that BB is a tool for accessing the operating system. That would be
from a systems programmer's point of view. BB provides type safe access (more or less).

If we shift the operating system to, say, OS X, then a whole host of other knowledge is needed to deal with it.

In the original Oberon-0 implementation one did not care or need access to another operating systems other than Oberon even when it was ported to many other systems.

BlackBox has let those other systems creep in to have a higher relevance. That is not the direction I think we should be taking.

We need to maintain the abstract functionality as cleanly as possible and reduce the need and significance of WinApi.

Just my two cents.

-Doug
Ivan Denisov
Posts: 1700
Joined: Tue Sep 17, 2013 12:21 am
Location: Russia

Re: Issue-#23: fixing bugs in WinApi plus some extensions

Post by Ivan Denisov »

Win is separated from Host, because developers can make their projects Host part, which will use WinApi.

For example, CpcTabs and CpcTabsHost.

As said Josef "The Host subsystem contains host specific implementations of generic APIs."
User avatar
Josef Templ
Posts: 2047
Joined: Tue Sep 17, 2013 6:50 am

Re: Issue-#23: fixing bugs in WinApi plus some extensions

Post by Josef Templ »

> BlackBox has let those other systems creep in to have a higher relevance. That is not the direction I think we should be taking.

I perfectly agree that the normal BB user should not need to use low level modules such as WinApi.
WinApi is a tool for implementing HostFiles and Kernel, for example.
In some rare cases, were one needs to access Windows features not currently available from BB,
it is more convenient to import them from Win* than to define them manually.
If there are important features missing from BB we should of course add them.
Just file an issue and we can look at them.

- Josef
User avatar
Josef Templ
Posts: 2047
Joined: Tue Sep 17, 2013 6:50 am

Re: Issue-#23: fixing bugs in WinApi plus some extensions

Post by Josef Templ »

The latest updates are in branch issue-#23 now.
All of my typos fixed by Helmut (missing export marks, for example).
Some data types have been refined as proposed by Helmut.
In particular these are type changes from SHORTCHAR to BOOLEAN where the SHORTCHAR is actually used as BOOLEAN
and some INTEGER VAR parameters are changed to ARRAY OF where they are really pointing to an array.
This caused some adaptations in Host* files, but all of them are trivial and simplify the source code.
The folds have been removed again as agreed with Helmut.
So, the WinApi source code again looks like what we (or at least some of us) are used to.

Unless there are any objections, I will create a voting for accepting this version of WinApi tomorrow.

@Ivan: Our Edis host has a memory problem again.
http://redmine.blackboxframework.org/pr ... repository does not open but responds with a memory error.
Also the build engine currently does not work. May be this is for the same reason.
We had this kind of problem before but I don't remember exactly how we solved it.

- Josef
Post Reply