Archive

Archive for the ‘Uncategorized’ Category

Dec
15

(Updated: Spoiler Alert)

Two weeks ago I predicted Trump would hire both of the finalists on this season’s The Apprentice. Tonight he was on the verge of hiring Rebecca after he hired Randal. He asked Randal if he thought he should also hire Rebecca. After talking up Rebecca each week and winning as a team, Randal selfishly noted there should only be one apprentice. Mr. Trump – you blew it by not following your gut.

Randal showed his true colors by influencing Trump to not hire Rebecca. Mr. Alleged Nice Guy turned out to be Mr. Backstabber. Shocking? Not in the least, after all it is all business, right? Disappointing since I thought Randal was a good guy.

The reason I watch The Apprentice is not the reality TV hoopla. I watch it to learn more about business from people who are successful. It is one of my personal philosophies: surround yourself with successful and smart people and learn how they became successful. Each week Trump provides some wisdom and I usually learn something or reaffirm something I already know. This week he broke one of his own rules about following your gut. All good business people follow the their instincts. This was a big mistake on his part..

If Trump is smart he will correct this and hire Rebecca anyway, but I doubt it.

Dec
13

I get the FoxPro Advisor Alert each week. This is an email summary of previous and upcoming articles I can look forward to reading. A few alerts ago I noticed Advisor is changing the name of the magazine to Advisor Guide to Microsoft Visual FoxPro. From what I understand, the change is coming with the January issue.

Interesting. Why would a magazine change its name after more than a decade of publishing? Well according to the Advisor Alert:

“To better tell the world what we do, the new name of FoxPro Advisor is ADVISOR GUIDE to MICROSOFT VISUAL FOXPRO — same publication, new name, continuing Advisor Media’s 20 years providing expert advice on Fox software.”

Darn, I was hoping for a new and improved publication. I still enjoy reading FoxPro Advisor each month, but it is getting thinner and thinner. I understand all the reasons why (just count the amount of advertising done in the magazine each month and look at the subscriber numbers), but I want more content. The magazine use to be double the size and 50% less expensive.

I also know the reality the Internet has played on the print publishing world. The instant availability of material via blogs, wikis, and developer Web sites is much faster to market than the 3 month lead time many publications face. I am sure this is why Advisor has their email alerts, have revamped their content on their Web site, and have made electronic access part of the subscription (as FoxTalk has for years).

Don’t get me wrong. The authors are good, the material is valuable, and I still easily justify the subscription. I just want more! It is my hope more Visual FoxPro developers subscribe to all FoxPro publications. It is a simple economic reality. The more subscribers, the more vendors will be willing to advertise because a larger audience is available for their ads. This means Advisor will have a bigger budget, and can pay authors to write more and print more pages. So we all would win.

Good luck Advisor – I hope you take this opportunity to improve your magazine.

If you are not subscribing to both Advisor Guide to Microsoft Visual FoxPro and FoxTalk 2.0, you are missing out on some excellent reading, ideas, and concepts.

Dec
11

A friend of mine emailed me today asking for sources of what’s new in VFP from an end user’s perpective (as in user interface issues). He has not upgraded since VFP 6, and is finally persuaded by the reporting features in VFP 9 to make the jump. My answer was fairly simple: read the Help file. Unfortunately he does not have the Help file for 7 and 8. I also mentioned the What’s New books from Hentzenwerke.

So I spent some time reviewing the Help files and going through the What’s New sections and documenting user interface feature improvements and enhancements. Quite a list I sent…

VFP 7.0

1) Implements: hooking into events happening in other applications.
2) Icons on menus
3) Hot tracking command buttons
4) Easier row highlighting in Grids
5) Wordwrapping in grid headers

VFP 8.0

1) Wordwrapping ToolTipText and longer tips (bumped from 255 to 4095 characters)
2) Ctrl+Home and Ctrl+End to move to top and bottom of grid
3) Updated Windows dialogs for open and save when running on Windows 2000 and XP.
4) Grid column autosizing (one or all, very similar to Excel).
5) Better control over the CommandButton position graphics
6) Tab orientation on pageframes (top, bottom, left or right)
7) Hyperlink support in text and editboxes.
8) XP Themes
9) Easier and more flexible image support (animated GIF files and other formats, rotation and flipping)
10) Docking forms
11) Grids as listboxes
12) Better graphic performance on Terminal Services and CITRIX
13) Change background color on CommandButtons
14) Images in grid column headers
15) Suppressing the data related messages in StatusBar
16) Hiding columns in grid (not just taking the width to zero
17) Support for XP style icons

VFP 9.0

1) Field Tips in grid and BROWSE
2) Anchoring – far less need to handle code in the form resize event
3) Checkboxes and Option groups support wordwrapping
4) Better image/text alignment on CommandButtons
5) You can hide captions on CommandButtons, OptionGroups, and CheckBoxes (allowing for hotkeys to be supported without text)
6) Grids support Rushmore which makes them faster to surf
7) Label rotation
8) Better Theme backgrounding for labels
9) Toolbars can show and hide separator objects
10) Textbox controls have autocomplete feature available (like Internet Explorer address bar)
11) Updated InputMask/Format for controls
12) Reports – much better previewer, more control and events
13) Better printer dialogs for setting printer properties SYS(1037)
14) DisplayOrientation if users have TabletPC
15) Windows EventBinding so your apps can respond to events in the Operating System

Now I might have missed some things. If I have, pass them along in the comments and I will forward them to my friend. What are your favorites?

Dec
09

I am sitting here in the vast White Light Computing corporate office today working away on various tasks I have to get done. My cell phone rings with “unavailable”. Normally I avoid the taking calls from “unavailable”. But one of my clients does have caller id blocked on their phones and I thought maybe it was them. Wrong…

The individual on the other end of the line is Gary from Domain Registry Support. He was really glad to get in touch with me because there is some emergency information he needs to send me based on changes to my domain. He rattles off some verification information to certify who I am and to sound official. It smelled bad right from the beginning. He notes my fax number registered is incorrect on the domain information records. I ask him for the number and he hesitates and then spits out a number which was bogus. I tell him I never registered a fax number after he lies to me. What a bunch of baloney. He demands a fax number. It is an emergency. I tell him I don’t use one (I hate fax machines… after all it is hardware {g}).

I tell him to mail me the information since he already confirmed my address. He refuses since this emergency change is happening in the next 24 hours and fax is the only technology available for instant communications. Guess he never heard of email. I get his name and number and note I will call him back after I confirm with my domain registration company that there is an emergency change coming down.

The folks at GoDaddy were great. They inform me of this scam going on where this company scares people into sending them money and not to do business with them, unless of course I want to move my domain over to the scammers. I know I have had snail mail in the past, which looks very official from domain scammers, but I do not recall getting a phone call.

So Chuck from GoDaddy offers me the “privacy option” for my domain. This is an add on to my domain registration. I am in the camp of I should never have to opt into privacy, but after scam I decided to purchase the protection. Dumb, but safer.

After hanging up it hits me. What if Domain Registry Support was just a little company hidden in some corner of the world where they cannot be touched by mainstream officials? What if this company was funded by domain registrars to get people scared into opting into this privacy add on? Could it be that I have just been scammed by a double agent? Maybe watching ABC’s Alias has me thinking nothing is safe {g}.

I thought passing along this story might help others who might get scammed by these evil doers.

Dec
09

Holy bug fixes Batman! Visual FoxPro 9 SP1 was released late yesterday with 200 bug fixes. How many more reasons do you need to get VFP 9 and apply the service pack? So many developers refuse to get a dot zero release on principle. Well time is up. No more excuses. Many thanks to the Fox Team and congratulations on a great release.

Oh, in case you missed it in Ken Levy’s December Letter, VFP 9 SP2 and changes to the EULA for the XSource components have been announced too!

This news topped off another great meeting at the Detroit Area Fox User Group tonight. Lots of good information and interesting discussion. Getting good news is so much better when you are with your fox friends.

Dec
02

Just got an email from Bob and I see on the Southwest Fox Web site the new hotel and conference center have been selected. The tours look nice and the rates are not that much more than the Twin Palms. The lobby looks pretty big and has furniture we can rearrange in typical fox fashion. Also a Spanish track as a new twist for next year to keep things fresh.

Registration begins April 1, no fooling. Mark your calendars.

Nov
30

At the recent German DevCon I presented my “Get Productive with Visual FoxPro” session. This session is always different each time I give it. Mostly because the people attending the session often participate by throwing in their own productivity tips (which I encourage in all my sessions). I always start the session off with productivity tips with the Class Browser tool which ships with VFP (and has since VFP 3). It rarely fails that a developer will contact me after the session to let me know how much they appreciate the various tips on the Class Browser.

So in case you have not seen the session, here are some of the tips:

Set the default file to be opened when Class Browser is started

First open up the Class Browser and open up the class library you want to be the default class library opened when the Class Browser starts. In the Command Window:
_oBrowser.SetDefaultFile()

If you want to clear the default class library execute the following statement:
_oBrowser.ResetDefaultFile()

This works great if you are constantly editing classes from the same class library for an extended period of time.

You can open the Class Browser with multiple class libraries

The first parameter accepted by the Class Browser is the file name of the VCX, or more accurately a comma-delimited list of VCX file names.

DO (_browser) WITH “examples\CPhkBase2, examples\demo”

Most Recently Used List

Have you ever right-clicked on the open button of the Class Browser? If not, give it a try and see a long list of previously opened class libraries. This has been in the tool for years, but I still show developers this little trick which saves me hours of drilling through directory structures.

Project Manager Can Start Class Browser

Double-clicking in the Project Manager on a Visual Class Library will open the class library in the Class Browser in VFP 9. Previous to VFP 9 nothing happened when you double-clicked on a class library. You can stop this from happening via a projecthook QueryModifyFile event. You can also intercept this in a projecthook via the QueryModifyFile event and run your own class library tool, or you favorite hacking tool like HackCX Professional (code to do this is posted here for HackCX Pro users).

Class Browser can open/maintain PRG based classes

The Class Browser has always been able to open VCX files, but many developers prefer to code their classes in program code (PRG). One of the disadvantages to taking the PRG route was the inability to use the Class Browser to maintain the classes and get a visual representation of the class hierarchy. Visual FoxPro 9 removes this limitation.

Renaming methods and properties without opening the class

You can rename methods and properties by right-clicking on the property or method and selecting Rename… on the shortcut menu. A dialog is presented which allows you to rename the property or method. Please remember that renaming a method or property does not magically rename the references in the method code. You will need to manually search and replace any references that are changed.

Copying and Moving Classes Between Class Libraries

You can open two instances of the Class Browser and use the mouse with the Ctrl key pressed to drag the icon in the upper left corner to the other instance of the Class Browser. This will copy the class to the other class library. This will maintain the same parent class relationship. If you do not hold down the Ctrl key you will move the class to the other class library.

It is not uncommon when I show this to developers to hear how they are surprised you could run multiple instances of the Class Browser. To me, this is one of the more powerful features of this important tool.

I posted the last one yesterday on FoxForum.com and a friend of mine popped me an email today noting this was cool and I should post this on my blog (prompting this entire post). Heck, how could I just pay it forward with one tip when I have so many others? So thanks Mary, it is all your fault this knowledge gets spread further into the Fox Community {g}.

Enjoy!

Nov
29

I have been working on an application over the last couple of days for a client. I needed to add 20 or so fields to the OrderMaster table of this application. Simple thing to do, right? Not for me.

I use xCase to model data (both for VFP and for SQL Server). I love xCase for many reasons, but it is way better than using the native SQL Server and VFP Database and Table Designers. I added a bunch of fields yesterday and needed to add a couple I missed today. xCase has this wonderful feature which updates the table structures automatically. Today I get an error during the update:

The fields in table ‘OrderMaster’ did not match the entries in the database (Error 1984)

Argh! The “big brother is watching you error” – reference to George Orwell’s famous book titled 1984. Sorry, I digress.

I believe this is the worst possible error you can get when working with VFP data. The solution recommended by the Help file is to use the VALIDATE DATABASE command or to remove and re-add the table to the database. Both of these options should include a disclaimer that says something to the effect of “both these solutions will hose the database worse and cause your hair to turn grey and fall out.”

The better solution is to get out my trusty backups. Unfortunately, this morning I took my 250GB USB drive and the latest copy of the backups burned on DVD to the safety deposit box at the bank. This is my offsite backup scheme. I rotate the USB drive and permanently leave the DVDs in the box. No problem I’ll just go back and bring them home. Too late – banks close at the worst possible times when it comes to being a developer. So now I get to wait until the morning to get the backups and finish up this project.

This would never be happening to me if I was working with SQL Server {s}.

I have emailed the client to let him know I am a victim of Murphy’s Law, and there will be a short delay in getting him a new release. I just hate having to send emails with bad news.

Guess I have some time to push out another ViewEditor v3.6 Release Candidate this evening…..