FireFly 3.6 Announcement on PB Forum

Started by Paul Squires, May 31, 2012, 12:18:12 PM

Previous topic - Next topic

Paul Squires

Hi Everyone,

I posted in the PB Support Forums regarding the availability of FireFly 3.6. Feel free to post you comments regarding FireFly in that thread. It would be nice to see the topic bumped every couple of days for the next week or two just so the word gets out to as many PB'ers as possible.

Here is the link to the post:
http://www.powerbasic.com/support/pbforums/showthread.php?t=50439

I have no intention of getting into a "my visual designer is better than your visual designer because..." type of threads. FireFly is what it is and users are free to try it out for 30 days and come to their own conclusions.

Thanks, i always appreciate you guys supporting me and FireFly.
:)
Paul Squires
PlanetSquires Software

Michael Stefanik

Just as a heads up, I found that the new version of Jose's includes creates issues with our API because apparently it now forces the inclusion of WinInet. Trying to define WIN32_LEAN_AND_MEAN causes compiler errors, and there's apparently he doesn't provide any mechanism to prevent the inclusion of non-core API function declarations. The only fix I could find involved either hacking his headers or ours, which is less than ideal. In any case, unfortunately this means that SocketTools isn't compatible with Firefly 3.6 "out of the box", but we don't have the issue with the stock compiler toolchain.
Mike Stefanik
sockettools.com

José Roca

WININET.INC only gets included if you use #INCLUDE "Win32api.inc" instead of #INCLUDE "windows.inc".

Michael Stefanik

#3
Normally, the standard C/C++ headers don't include WinInet.h at all, you have to explicitly add it to your code and I just checked the stock PowerBasic includes and their version of win32api.inc doesn't include it. Is there a particular reason that you're including it with your implementation rather than requiring it be explicitly included? We do include win32api.inc because we use some standard Windows structures, and our primary focus was compatibility with the stock toolchain. Is there something that you define that can give us a hint that your custom headers, rather than the standard headers, are being used?
Mike Stefanik
sockettools.com

José Roca

The reason was to no force to add #INCLUDE "WININET.INC" to be able to use several interfaces included in SHLOBJ.INC, that the PB includes don't have defined. However, the solution is easy. I have remed #INCLUDE "WININET.INC" in that file. Try the attached file to see if it works for you.

Michael Stefanik

#5
Thanks, but I had already figured out that was the underlying issue. The reason I raised this wasn't for myself, but for our customers that use Firefly with SocketTools. Just as a support issue on our end, I'd rather not tell the folks who are using SocketTools that they have to hack your headers (or ours). From my perspective, a preferable solution would be an ifdef that would allow us to specify that wininet.inc should be excluded. We can't just include windows.inc in our header file because PowerBasic considers it to be deprecated, and we have to be concerned with compatibility with the stock headers.

Actually, all I think you'd need to do is add something like this to shlobj.inc:


#IF NOT %DEF(%EXCLUDE_WININET)
#INCLUDE ONCE "wininet.inc"
#ENDIF


Then in our own header file, we could define %EXCLUDE_WININET. This won't conflict with the standard headers, and it won't have an impact on people who aren't using SocketTools. I would like to maintain compatibility with both the stock headers and yours, since I know there's quite a few PowerBasic programmers who prefer to use yours (and of course, they're required for Firefly now).
Mike Stefanik
sockettools.com

José Roca

Tey won't need to hack any include. If the modified one woks for you, I will keep it for the next update. The C++ headers don't include it: they just warn that you have to include it if you want to use the COMPONENT structure.

Michael Stefanik

Okay, no problem. Thanks for looking into it. In the meantime, if this issue comes up hopefully folks will either look here or contact us and we'll point them in the right direction.
Mike Stefanik
sockettools.com

Paul Squires

I want to thank you guys for bumping that FireFly post over in the PB forums. That is very nice of you to do.  :)
Paul Squires
PlanetSquires Software