Monday, September 12, 2005

Shameless plug
As I've said in a couple of my past entries, I've been writing articles for FoxTalk 2.0 and FoxPro Advisor. I think as a community it's important that we support these publications by subscribing to them and/or writing articles for them. They provide a lot of bang for the buck and the quality of the Visual FoxPro material they present is top-notch; written by some of the greatest Visual FoxPro developers in the world.

GDI+ series in FoxTalk 2.0
For FoxTalk 2.0, I've been doing a series on GDI+ and in the latest article, "GDI+ on VFP9 Forms: Working with Images", I show a number of advanced techniques for manipulating and displaying images and for rendering content directly on a Visual FoxPro form without painting over the controls. This article builds on the techniques presented in the first article, and I can tell you, modesty aside, that this second article blows the lid off. And, I'm just getting started... so if you're a FoxTalk 2.0 subscriber look forward to more articles on GDI+ and its use in Visual FoxPro. And if you're not a subscriber, I urge you to consider it.

Dave Stevenson is my editor at FoxTalk 2.0, and he works long and hard on these articles to make sure that they are not only grammatically correct, but technically sound as well. More than a few of the good ideas that have been presented in my articles came from suggestions Dave made.

One of the things I like best about FoxTalk 2.0 is their willingness to provide some of the really valuable content to the Visual FoxPro Community for free online (it's usually the issue's feature article). For instance, last month they provided my article, "GDI+ on VFP 9 Forms: Solving the Paint Problem", and then this month they freely provided "Extending the Report Builder's Multiple Selection Dialog" by Colin Nichols. You can find even more free FoxTalk articles from months and years past by doing an online search (Google, MSN, Yahoo, etc.). FoxTalk has been doing this for a long time, and I really feel they deserve our support. Enough said.

FLL series in FoxPro Advisor
For FoxPro Advisor (FPA) I've been doing a series on FLL creation and use. FLLs are Dynamic-Link Libraries written in C\C++ that access the Visual FoxPro API (180 + functions). You can do some absolutely amazing things with FLLs in Visual FoxPro and hopefully a few of the FLLs I've provided here on the SPS Blog (such as the vfpencryption.fll) bear that out.

My first article, "Create and Use FLLs", is in this month's issue of FPA, and I show the reader how to create an FLL in 10 easy steps using Visual C++ 6 or 7. I'm prevented from going into further details about upcoming articles by a NDA, but they're intense and as a subscriber you definitely get your money's worth with FPA. As with FoxTalk 2.0, FPA has some of the best and brightest writing for them.

As a writer it's fun to write for FPA because they sometimes pass your article on to the likes of Tamar Granor and/or Christof Wollenhaupt for editing. There's nothing like having those two critique your article, ask questions, or offer suggestions. In case you're wondering, I held my own. :)

Worth the price of Admission
FoxTalk 2.0 is a bargain at $139 for print and online subscriptions and $79 for an online only subscription. To get an idea of the kind of content you can expect, there is a Sample Issue pdf online, as well as the free online articles they've provided that I mentioned above.

A subscription to FoxPro Advisor is $99 per year and they offer a discount if you subscribe for two years ($90 per year). They also provide some free articles from time to time, but those articles are very seldom indicative of the level of information you will receive in the articles available to subscribers only.

With both of these industry rags, FoxTalk 2.0 and FPA, it's not just the current issues that make subscriptions valuable, it's also having access to all of the archives. The Visual FoxPro resources and code that are in the back issues far outweigh the subscription price for a single year any way you slice it.

If you're already a subscriber to these magazines, then you know what I'm saying is true. And if you're not yet a subscriber, I hope that I've perhaps piqued your interest, and that you may decide to subscribe to one or both. You won't regret it. Free online resources are great, but sometimes a product or service is well-worth the price of admission.

PS There's also the Universal Thread Magazine and CoDe Magazine, which both contain Visual FoxPro content, but I haven't written articles for either of them.

Monday, September 12, 2005 6:15:50 AM (Central Daylight Time, UTC-05:00)  #    Comments [6]
Monday, September 12, 2005 8:58:07 AM (Central Daylight Time, UTC-05:00)
Your FoxTalk GDI+ articles are the dogs bollocks (as we say in Blighty!). Keep up the great work, it is very much appreciated. I can't wait for the next in the series.
Steve Harris
Tuesday, September 13, 2005 1:20:49 AM (Central Daylight Time, UTC-05:00)
Hi Steve,

Great to hear! More are on the way.
Thursday, September 22, 2005 5:38:18 PM (Central Daylight Time, UTC-05:00)
Hey Craig,

This is my first attempt at building a .FLL. Just never got around to it. But then, I ain't that much of a C++ guru either. So I'm glad you're doing these articles.
But I had a hitch when I did it.

I already posted a comment on the Advisor article in the comments for the article, but I thought I would go ahead and add it here, just so you're aware:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"Good article Craig. I look forward to the second part.

Only thing is, I got the following error when I first tried to build the .FLL:
LINK : fatal error LNK1104: cannot open file "atls.lib"

In step 9 of the article, I had pointed the library to this path:
C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 7\SAMPLES\API
by using the _ClipText = _samples + "API" from VFP7.

But I am using Visual Studio 6 to build the .FLL. The library winapims.lib included with VFP7 is evidently compiled using VS.NET. It won't work with VS6.

However, after pointing to this folder:
C:\Program Files\Microsoft Visual Studio\Vfp98\Api
Which contains winapims.lib built with VS6, the link suceeded.

Just thought I would point that out."
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Saturday, October 01, 2005 5:02:49 AM (Central Daylight Time, UTC-05:00)
Hi Dave,

Odd. I was actually using the winapims.lib from VFP 9 and in VC++ 6.0 I had no problem making the build. When I get back to working on the 3 article for the series, I'll try doing the build using the one that came with VFP 7 and see what happens. I appreciate knowing about the issue, I may add a comment about it in one of the future articles just as soon as I confirm exactly what the problem is and which versions of VFP it effects (obviously VFP 9 is exempt from this... but if VFP 7 does this, then perhaps VFP 8 does as well).
Sunday, February 26, 2006 11:10:24 PM (Central Standard Time, UTC-06:00)
I'm getting a very similar problem in VS 2005.

fatal error LNK1181: cannot open input file 'winapims.lib'

I have the Additional Include Directories set as well as the Additional Dependencies set. All the project properties seem to be set correctly.

I use VFP9 SP1.

Any Ideas?
Thanks.
foxis thebest
Monday, February 27, 2006 12:14:39 AM (Central Standard Time, UTC-06:00)
foxis,

Here are all of the settings you need. The one I would guess you are missing is the Additional Library Directories.

C/C++ - General - Additional Include Directories: "C:\Program Files\microsoft visual foxpro 9\Samples\API"

C/C++ - Code Generation - Runtime Library: Multi-threaded DLL (/MD)

C/C++ - Advanced - Calling Convention: __fastcall (/Gr)

Linker - General - Output File: $(OutDir)/mylibrary.fll

Linker - General - Additional Library Directories: "C:\Program Files\Microsoft Visual FoxPro 9\Samples\API"

Linker - Input - Additional Dependencies: winapims.lib
Name
E-mail
(will show your gravatar icon)
Home page

Comment (Some html is allowed: a@href@title, b, blockquote@cite, em, i, strike, strong, sub, super, u)  

Enter the code shown (prevents robots):


 

Archive

<October 2008>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678