Archive

Archive for the ‘Visual FoxPro’ Category

Aug
28

One last quick reminder: you can save $50 by registering with the early-bird registration discount. The deadline is this Friday, August 31st. Every registered attendee gets admission to all regular conference sessions, whether part of Southwest Fox or Southwest Xbase++, and white papers for all Southwest Fox sessions. http://www.swfox.net

As a personal favor, if you have not already, please register now!

Jun
02

My copy of MSDN Magazine arrived in today’s mail. As I do when it arrives, I browse through the pages looking for interesting articles to read. Normally what I read is interesting information about things in .NET that people on my team throw around during team gatherings, and I see presented at user groups and conferences.

But today I read two thought provoking articles discussing Visual Basic 6, which was released in 1998 and off Microsoft’s extended support in 2008. Not exactly what I would call cutting edge material.

  • Don’t Get Me Started, by David S Platt
  • Old Soldiers Never Die, editorial by Michael Desmond

The articles discuss how in January Microsoft extended “It Just Works” compatibility and support of VB6 applications through the full lifetime of Windows 8. This means the VB6 core runtimes are getting 5 more years of mainstream support followed with 5 more years of extended support into 2022 (a total of 10 years of Windows 8). Note: the VB6 IDE is not supported, just the runtimes. Still, this has an super important impact on VB6 developers who can talk to their customers and assure them that Microsoft is backing the investment in applications their customers have come to depend on. Platt even speculates: “I’ll bet you a beer that Microsoft has to extend Visual Basic 6 support through Windows 9 and 10.”

Here is a link for all the details on “It Just Works” for Visual Basic 6.

So let’s look at a simple timeline comparison here:

  • The last release of VB6 was in 1998, and extended support ended in 2008.
  • The last release of VFP 9 SP2 was October 2007, and extended support goes through January 2015.

The theme of the two articles is that VB6 apps continue to thrive in the business world, and in governments, and they are likely to thrive for a long time to come. Sounds familiar. Visual FoxPro applications are doing the same in both sectors, and in non-profits. Not every business can just afford to stop and rewrite their mission critical apps. Some applications do not support a business model for a rewrite. Just because Microsoft decides they no longer support development platforms and runtimes does not mean business does not continue as is.

One thing that made me chuckle is in Desmond’s article as he cites Platt, “Platt says he sees “pockets” of support on the Internet for Borland Delphi, Microsoft FoxPro, and Sybase PowerBuilder.” Pockets. Funny.

I want to be clear on one point. I don’t think this is important from the technical side of things as the testing I have done is not revealing any issues on Windows 8. Visual FoxPro applications I have tested are working fine on the Windows 8 Consumer Preview release from earlier this year. I have not tested on the Windows 8 Release Preview released this week. This is purely a marketing issue so Visual FoxPro developers can reassure their customers that Microsoft cares about their software, AND allows them to upgrade to Windows 8 if they choose to do so. Assurance equals new revenue for Microsoft. It also might help stem the tide of choosing alternative non-Microsoft platforms when it comes to the v.Next rewrite of the existing business software.

So Microsoft, I ask – How do the Visual FoxPro runtimes get “It Just Works” support extended through the life of Windows 8? I am certain this would be helpful to the customers who have come to depend on their software just as much as the software created in VB6, and Visual FoxPro has been supported longer.

Or am I wrong?

Apr
09

The Ceil Silver Ambassador Fund brings a developer to the Southwest Fox conference in the United States as an ambassador for the developers in his or her country. This gives the recipient the opportunity to meet and share experiences with developers attending Southwest Fox and gives other attendees the opportunity to learn about VFP development in the recipient’s country. For more information on the Ambassador Fund or to learn how to contribute to it, please see http://www.swfox.net/ambassador.aspx.

The Ambassador selection committee consists of Southwest Fox organizers Rick Schummer, Tamar Granor, and Doug Hennig, former Ambassadors Emerson Santon Reed, Cesar Chalom, Bernard Bout, and Borislav Borissov, and VFP community members Christof Wollenhaupt and Rick Bean.

We are looking for nominations from the VFP community for the 2012 recipient. To nominate someone you think is deserving to be selected, please email their name and a brief list of their contributions to the VFP community to ambassadorfund@swfox.net. Names must be submitted no later than April 30, 2012.

Apr
09

The FoxPro Lifetime Achievement Award honors those individuals who have contributed a great deal to the FoxPro community over the years. See the Visual FoxPro Wiki topic for previous award recipients. These recipients wish to continue the award and have created a committee to select a recipient for 2012. The committee consists of all 11 living previous recipients, Alan Griver (yag) of EC:Wise (formerly of Microsoft), and one person from the FoxPro community.

If you wish to be considered for inclusion on the committee, please email Doug Hennig (dhennig@stonefield.com) by April 30, 2012. The existing committee will select the community member and announce their selection in early May. The committee will then issue a call for nominations for the 2012 recipient and will make their selection from the nominees.

Mar
06

Save the dates for Southwest Fox and Southwest Xbase++ 2012! The conferences take place October 18-21, 2012.

This year we have two conferences as one great event at the same location. Southwest Fox has always served Visual FoxPro developers an opportunity to learn and extend their skills, and network with fellow developers. Alaska Software is working on PolarFox, a product that keeps the Visual FoxPro language alive in their next generation tool. You get two conferences for the price of one!

The conferences take place at the San Tan Elegante Conference and Reception Center, the same great location as last year.

If you’re interested in presenting at Southwest Fox 2012, please visit http://www.swfox.net/callforspeakers.aspx, read the complete Call for Speakers document (linked from that page), and download the proposal submission application. Session proposals are due by March 23.

Finally, if there are any topics you hope will be covered this year, please send them to info@swfox.net, right away.

Apr
17

Today I reviewed a new beta release of the VFP 9 SP2 Help file being prepared by Francis Faure on VFPX. I needed to compare it to the Help file for VFP 8 and when I tried to access the VFP 8 Help menu pad I got the following error:

OLE error code 0x8002801d: Library not registered.

To be clear, I got this error trying to get the Help menu to drop down inside of Visual FoxPro, not selecting the Help option on the menu, or by pressing the F1 key (which failed to bring up the Help file). Puzzled I ignored it and opened the CHM file directly in Windows Explorer. It opened fine and I was able to provide the feedback to Francis. I rarely use VFP 8 these days. Actually I mostly use it to compare behavior to VFP 9, which was exactly the case this afternoon, or to help other developers when I am mentoring or answer questions on the various forums.

I took a shot in the dark and tried using REGSVR32 to register the FoxPro Help EXE found in the Common Files folder. I found out immediately this was the incorrect approach as REGSVR32 barked at me that it failed. Fortunately the Visual FoxPro Wiki came to the rescue as it does so frequently for me. The correct way to register the FoxPro Help executable is to run the EXE with the /RegServer parameter.

FoxHHelp8.EXE /regserver

You can do this via the Windows Command Window, but if you are running Vista, Windows 7, or an earlier OS without Administrator rights, make sure to run the Command Window with administrator access.

[I documented this for my future self in case I need it for another machine - RAS]

,

Mar
26

One of the things I did at the Microsoft MVP Summit earlier in March was take part in an discussion about the FoxPro Community along with Alan Griver, Tamar Granor, Doug Hennig, and the co-hosts of the Community Megaphone podcast Andrew Duthie and Dane Morgridge.

This discussion boiled out of several discussions where Andrew and Dane kept running into former FoxPro people in the .NET community. They wanted to hear more about Fox Community and later found out that the root of the Microsoft MVP program was founded in the Fox Community as well. Our discussion covers a number of topics about developer communities and is what we find common and unique among them, as well as characteristics you find in people who are actively participating in a developer community. It was a fun hour.

The interview/discussion was recorded in the Microsoft Commons in a cafeteria. In the background was lots of MVPs eating and socializing so I am really impressed with the quality of the audio. I enjoyed participating. The only wish I have is that some of the other former Fox MVPs who have turned to the “dark-side” (Rod Paddock, Rick Strahl, Jim Duffy, Julie Lerman, Kevin McNeish, Markus Egger, Cathi Gero, and Craig Berntson to name a few) and other Fox people who are now .NET MVPs (Alan Stevens, Bonnie Berent, and David Giard) were not there. Although with that many people it would have been out-of-control. The list of people here is only part of the crowd though that have helped the .NET Community actually become more of community in the sense the Fox Community has known for more than two decades.

You can listen to the podcast here:

http://www.communitymegaphonepodcast.com/Show/26/FoxPro-Reunion

Thanks to Dane and Andrew for taking the time to talk with us.

Feb
01

Today I tracked down a strange error “File does not exist.” triggered when the users were testing the built in Stonefield Database Toolkit (SDT) Reindexing capability inside their application. We just updated this application from SDT 5.x to SDT 6.2 so we did risk breaking some of the functionality. At White Light Computing we have an external utility (EXE) that runs the Reindexing, Updates, and Repairs. This utility works fine with the current set of metadata, which made me think it was an environment issue inside the application. Sure enough the code failing is in the DBCXMgr class in the FindProperty method.

lcLongName = padr(upper(alltrim(tcProperty)), ;
             fsize('cLongName', .cPropCursorName))

The FSIZE() function is one of the functions affected by SET COMPATIBLE ON (it defaults OFF). When the setting is ON the function is returning the actual file size. When the setting is OFF, the function is returning the size of the field. This is one of those design decisions you got to wonder about. I know Microsoft made it to make the code work for dBase developers, but I think it is crazy-nuts to reuse functions in this manner. It leads to time tracking down problems like this one.

The application we are supporting has a SET COMPATIBLE ON in the start up code for reasons unknown to me. This is a global setting and it would take a considerable amount of time to track down all the possible code I would break by turning it OFF making it high risk. One workaround I could have implemented around this problem is inserting the SET COMPATIBLE OFF before the call to the SDT code and resetting it ON after the call (low risk, but only fixes this application). I decided to modify the FindProperty method to set and reset because it could be called by other application that use the DBCX Manager code. I also sent the findings to Stonefield support for their consideration.

[EDIT * 2-Feb-2011]  I have since realized that the changes are necessary throughout the DBCX Manager code. After further consideration, both Doug and I have come to the same conclusion, there are to many places to fix the code in the DBCXMgr, and no good reason why SET COMPATIBLE should be set ON. So I have changed the application to toggle the setting before calling the SDT Reindexing, Update, and Repair functions.

Glad to have that one off the bug list for our customer.