Prestwood eMagazine
Subscribe to our popular FREE monthly eMagazine.

Enter your email:

Subscription Center
 
Support Us!
Support this community,
buy from our store!

Prestwood Ping Server

$29.95
Visit Store
 
 

New KB Comments

The new kb comments ordered newest to oldest. 

To view comments to your KB Articles, go to your My Knowledge Base page. To view user contributions to your blogs, go to your My Blog page.
Steve Green
Diamond Software Group, Inc.
Send greens a Private Message Visit greens's Home Page
Rank: Cadet 4th Year

Joined: May 2008
MB Posts: 17

KB Articles: 0

Location: Myrtle Beach, SC USA
Tuesday, August 19, 2008 Read | +Add Comment

you must delete the toolbar files.. see details on Bertil's web site..

http://hem.bredband.net/bertilisberg/paradox/errdocs2/eid230.htm



Regarding...
Install Paradox 9 on Vista
Instructions to install Paradox 9 for Windows on Vista.

j.malcolmson
APR
Send j.malcolmson a Private Message Visit j.malcolmson's Home Page
Rank: Cadet 3rd Year

Joined: Mar 2004
MB Articles: 0

KB Articles: 0

Location: Burnaby, BC CA
Tuesday, August 19, 2008 Read | +Add Comment

Has anyone gotten the following dialogue when opening Paradox 9 in Vista?

"An attempt was made to access an unmanned file past its end."

After clicking Ok, the program starts and runs in a fairly stable manner.  When I tried installing higher versions of Paradox in Vista (like the one from the X3 package), the same message comes up and blocks the program from running at all.

John Malcolmson, Burnaby, BC

 



Regarding...
Install Paradox 9 on Vista
Instructions to install Paradox 9 for Windows on Vista.

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Monday, August 04, 2008 Read | +Add Comment

Refer to the section titled "Defeat Vista's Application Virtualization" in the Paradox 9 on Vista article. That should help.



Regarding...
Corel Paradox for Windows on Vista
Does Corel Paradox for Windows run on Vista? If so, are there any issues?

grantr
Send grantr a Private Message Visit grantr's Home Page
Rank: Cadet 3rd Year

Joined: Apr 2003
MB Articles: 0

KB Articles: 0

Location: CA
Friday, August 01, 2008 Read | +Add Comment

Installed Pdox 7/32 on VHP yesterday.. Ran into errors, and just blanket changed permissions on directories to get running.. Today installing Ultimate32 and will try domain connection and idapi.. hopin it works.. works on every OS to date :)

 

Grant



Regarding...
Corel Paradox for Windows on Vista
Does Corel Paradox for Windows run on Vista? If so, are there any issues?

Martin Evans
Arenig Ltd
Send martin2 a Private Message Visit martin2's Home Page
Rank: Cadet 3rd Year

Joined: Jul 2008
MB Posts: 1

KB Articles: 0

Location: Betws Gwerfil Goch UK
Monday, July 21, 2008 Read | +Add Comment

Hi, I've just downloaded your trial version of psSendMail to run with Paradox 9.  It appears to work fine and be just what I need - EXCEPT.  When I run it on a Vista machine and send HTML emails, it just seems to send plain text.  Yes, I do have the HTML flag set to True - works great with XP.

Your help appreciated.

Regards

Martin Evans



Regarding...
psSendMail DLL
Easily send e-mail directly from your custom applications. Works with all 32-bit Windows development environments and includes Paradox, Access, and Visual Basic examples.

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Monday, July 14, 2008 (Updated 7/14/2008 6:23:57 PM)
Read | +Add Comment

I was also asked recently, why we no longer develop websites for 800x600 resolution. The reason is quite simply that according to w3schools.com, as of January 2008 86% of the web surfers are using a resolution of 1024x768 or higher.



Regarding...
Testing Websites with Various Browsers
What browsers and resolutions should I test my website with?

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Monday, July 14, 2008 (Updated 7/14/2008 5:59:56 PM)
Read | +Add Comment

I was asked recently why we removed Netscape from our standard list of browsers we design pages for. The reason is that Netscape is no longer supported by Netscape. Refer to the following page for more information:



Regarding...
Testing Websites with Various Browsers
What browsers and resolutions should I test my website with?

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Monday, July 14, 2008 (Updated 7/14/2008 6:00:10 PM)
Read | +Add Comment

I was asked recently why we removed Netscape from our standard list of browsers we test against. The reason is that Netscape is no longer supported by Netscape. Refer to the following page for more information:



Regarding...
Test Using Common Browsers
Test each website with various common browsers. As of early 2008, we test each website we build with Internet Explorer, FireFox, and Safari. Sometimes we also include Opera as part of our standard test suite. The minimum resolution we test for "regular" websites is 1024x768 (and higher). We no longer support 800x600.

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Sunday, July 06, 2008 Read | +Add Comment

Today I cleaned up this articles code (re-pasted from my P9 book).



Regarding...
Paradox and the Internet
Using Paradox internet features. Content from chapter 25 of my "Paradox Power Programming: The Official Guide" book.

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Wednesday, July 02, 2008 (Updated 7/2/2008 11:13:22 AM)
Read | +Add Comment

Hi Graham,

>>...customer in a Customer table and orders would be in an Orders table?

Yes customers in customer table and orders in the orders table as usual.

>>...how many orders have been placed by a specific Customer belong in the Customer library (class) or in an Orders library?

Since Number of Orders is a property of a customer, I would put that property in the Customer class but you are correct that that custom method would indeed count the values from the orders table. It uses the orders.db table. Although classes frequently map 1 to 1 to tables in a database, when creating reusable code, you need to switch your thinking. You need to switch from a data-centric view to an object-centric view.

>>Or would you have a method in Customer.lib which called a method in Orders.lib?

If I wanted the ability to retrieve the number of orders of a customer in the Orders class, sure, you could design it that way. And yes, you could use aggregation where the Customer class "has a" orders object in it. In ObjectPAL, you would have to simply make use of an Orders.lib custom method.



Regarding...
Introduction to OO for the Paradox Community
Compromise OO implementation strategies for Paradox developers.

Graham Farquhar
Send GrahamFarquahar a Private Message Visit GrahamFarquahar's Home Page
Rank: Cadet 3rd Year

Joined: Jun 2005
MB Articles: 0

KB Articles: 0

Location: Newark UK
Wednesday, July 02, 2008 Read | +Add Comment

Interesting article.

I feel the example based on interrogating the 'Customer' table to find out how many orders have been placed somewhat dubious in terms of database design - surely you would only have one record per customer in a Customer table and orders would be in an Orders table?

As far as OO design goes would a method to find out how many orders have been placed by a specific Customer belong in the Customer library (class) or in an Orders library? Or would you have a method in Customer.lib which called a method in Orders.lib?



Regarding...
Introduction to OO for the Paradox Community
Compromise OO implementation strategies for Paradox developers.

Mamacita
Send Mamacita a Private Message Visit Mamacita's Home Page
Rank: Cadet 3rd Year

Joined: Feb 2001
MB Posts: 1

KB Articles: 0

Location: Milpitas, CA USA
Tuesday, July 01, 2008 Read | +Add Comment

Well Played.

mOM



Regarding...
Install Paradox 9 on Vista
Instructions to install Paradox 9 for Windows on Vista.

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Tuesday, July 01, 2008 Read | +Add Comment

Also of note...

In Delphi for .Net, there is no difference between virtual and dynamic.



Regarding...
Virual; Abstract; vs. Dynamic; Abstract;
Why do I have to specify virtual when creating an abstract method? Why not just abstract?

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Tuesday, July 01, 2008 (Updated 7/1/2008 5:34:05 PM)
Read | +Add Comment

Here is the syntax in question:

function Age: Integer; Abstract; //Does not work.

 

The above returns the following error:

[Pascal Error] poc_ClassTestsUnit1.pas(23): E2167 Abstract methods must be virtual or dynamic

 

Here is the correct syntax:

function Age: Integer; Virtual; Abstract; //Optimized for speed and most common.
 
function Age: Integer; Dynamic; Abstract; //Optimized for size.

 

For example, here is a complete simple class example:

  TMyClass = class(TObject)
  private
    function Name: String;
  public
    function Age: Integer; Abstract;
  end;

 

Then in a descendent class, you implement it:

//Class declaration...
TMyClass2 = class(TMyClass)
public
  function Age: Integer;
end;
 
 
//Method implementation...
function TMyClass2.Age: Integer;
begin
  Age := 12;
end;


Regarding...
Virual; Abstract; vs. Dynamic; Abstract;
Why do I have to specify virtual when creating an abstract method? Why not just abstract?

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Wednesday, June 25, 2008 (Updated 6/25/2008 7:28:57 PM)
Read | +Add Comment

For more information on the history of Pascal Casing:



Regarding...
Camel versus Pascal Casing
What is the difference between Camel Casing and Pascal Casing?

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Tuesday, June 24, 2008 Read | +Add Comment

Once you've tried the above suggestions at some point you have to give up and request free support from MS. The link below will get you to the starting point:

http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=3069333&SiteID=17

It does collect information from your specific computer that will help MS help you.



Regarding...
Vista SP1 Is Here, Finally!
Of course SP1 fixes some bugs, but more interesting are it's new features!

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Tuesday, June 24, 2008 Read | +Add Comment



Regarding...
Vista SP1 Is Here, Finally!
Of course SP1 fixes some bugs, but more interesting are it's new features!

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Tuesday, June 24, 2008 Read | +Add Comment



Regarding...
Vista SP1 Is Here, Finally!
Of course SP1 fixes some bugs, but more interesting are it's new features!

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Monday, June 23, 2008 Read | +Add Comment

Tip: Before applying SP1, make sure all current updates have successfully installed. If you have any failed updates, resolve that PRIOR to attempting to apply SP1.



Regarding...
Vista SP1 Is Here, Finally!
Of course SP1 fixes some bugs, but more interesting are it's new features!

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Monday, June 23, 2008 Read | +Add Comment

Tip: Before applying SP1, make sure you have registered your copy of Vista with Microsoft.



Regarding...
Vista SP1 Is Here, Finally!
Of course SP1 fixes some bugs, but more interesting are it's new features!

Wes Peterson
Prestwood Software
Send Wes a Private Message Visit Wes's Home Page
PS Staff
Moderator
Rank: Commander

Joined: Jan 2004
Visits: 759
MB Posts: 67

KB Articles: 96

Location: Citrus Heights, CA USA
Friday, June 20, 2008 Read | +Add Comment

Great tip about a grammatical detail often confused!  I like the "he/him" example; makes it easier to remember.

Additional tip:  When dealing with plural "hims," like "people," it's become acceptable to replace the who/whom confusion with a simple "that."  Ex:

People that like Delphi are geniuses.



Regarding...
who versus whom
"him" is for "whom" and "he" is for "who" Who is coding that requirement? (He is coding it.) To whom do we ask about this requirement? (We ask him.)

Wes Peterson
Prestwood Software
Send Wes a Private Message Visit Wes's Home Page
PS Staff
Moderator
Rank: Commander

Joined: Jan 2004
Visits: 759
MB Posts: 67

KB Articles: 96

Location: Citrus Heights, CA USA
Friday, June 20, 2008 Read | +Add Comment

An aside (and a tip of the hat to waterfall methodology):

Larry, a good friend, and very competent developer, had a modest, personal software project to do.  Because he was both the developer and "consumer," he was able to use the waterfall method to good effect.

In fact, his approach was a little unusual:  He used HelpScribble to create the entire help system before he wrote a single line of code!  The resulting help system, then, became his requirements specification.

I wouldn't suggest that approach for any very ambitious project, but in his unusual case, it worked very well.



Regarding...
What is technical writing?
About technical writing and the knowledge domain.

Wes Peterson
Prestwood Software
Send Wes a Private Message Visit Wes's Home Page
PS Staff
Moderator
Rank: Commander

Joined: Jan 2004
Visits: 759
MB Posts: 67

KB Articles: 96

Location: Citrus Heights, CA USA
Friday, June 20, 2008 Read | +Add Comment

Ramesh,

Great post on technical writing!  I find myself agreeing with everything you say, with one small exception:

"This life cycle is similar to the waterfall model of the software life cycle."

It is true that technical writing can follow a cycle similar to the old waterfall software life cycle, but, as with software development itself, I'd hate to approach technical writing that way in the modern world of agile software development.

The waterfall model called for all requirements to be known, and well documented, before development begins. Then, an iteration of the software wass created according those known requirements - and only those requirements.  New requirements would be introduced only after the first iteration was completed.

That model had the advantage of making the developer's, and tech writer's worlds very "safe," but it made for painfully slow development, and often led to initial (and sometimes terminal) customer dissatisfaction.

Agile development methodologies, on the other hand, recognize that all requirements may not be known, that it is rare to "get it right" the first time, and introduce the flexibility to iteratively discover, and manage, requirements as development moves forward.

I find it useful, then, in my technical writing, to track the agile process (PSDP, in this organization), and to use authoring tools that integrate comfortably with our development systems.

A good example of such a tool is HelpScribble.  It includes add-ins for the Delphi development system that allow us to rapidly connect elements of the software to the relevant help topics. Help & Manual is another such tool. 

Both are capable of producing WinHelp, Compiled HTML Help (chm), web documentation, and source for printed manuals, all from a single "project" file.

Additionally, they can parse source code, and produce a very satisfying documentation framework for classes and other elements related to "API" concerns.

The project source from either of these tools can be added to the same version control system used by the software developers, making it easy to track and manage changes as an agile project moves forward.



Regarding...
What is technical writing?
About technical writing and the knowledge domain.

vinylsol
Vinyl Solution
Send vinylsol a Private Message Visit vinylsol's Home Page
Rank: Cadet 4th Year

Joined: Sep 2007
MB Posts: 12

KB Articles: 0

Location: Cheltenham AU
Thursday, June 19, 2008 Read | +Add Comment

I occasionally have to repair a table - I usually notice this requirement when trying to change the default field data; restructure won't work until the table has been repaired. However after my recent experience I would like to recommend that before rebuilding a table, you should backup the corrupted table - obviously to a different location to your normal backups - because if the rebuild fails it is possible to do even more damage.

Usually when I repair a table I just let Paradox rumble happily away until it is finished but yesterday when I started a repair, I opened a new window and began working with another program. In the past, I have always left the Paradox screen open until the repair had finished but when I returned to Paradox this time  I discovered that the program had hung. I used Task Manager to end it, then reloaded Paradox to discover that all my filters had disappeared, my default fields were all empty and four records out of 120,000 had  vanished completely. Presumably, these were the records Paradox was actually working on when the program hung.

Fortunately, the table was backed up immediately before the repair and after copying it back and starting the repair again everything worked perfectly. But because of this I would heartily recommend:

1) Backup the table immediately prior to the repair.

2) Don't run anything else while Paradox is repairing.

I'm using Paradox 10 under Vista.





Regarding...
Repair Paradox Tables
Step by step instructions for repairing your Paradox tables.

Mike Prestwood
Prestwood Software
Send mprestwood a Private Message Visit mprestwood's Home Page
PS Staff
Moderator
Rank: Fleet Admiral

Joined: Oct 2000
Visits: 21411
MB Posts: 980

KB Articles: 872

Location: Citrus Heights, CA USA
Wednesday, June 18, 2008 (Updated 6/18/2008 9:11:21 PM)
Read | +Add Comment

Thanks Wes for adding to this code snippet. Mucho appreciated!



Regarding...
Associative Arrays in Delphi/Object Pascal (Use TStringList)

TStringList Example
Object Pascal doesn't have a native associative array, but you can use a TStringList the same way. (Alternatively, search the Internet for TStringHash and THashedStringList classes for implementations of a true associative array).



Need a software developer? Prestwood can help.

1.Open A Support Account
Ready to start now?

Select this option to open a support account.
2.Submit An Issue
An account rep will contact you with a free estimate.
Existing Clients
Pre-Pay Hours and Save $$$
Pre pay for 1 or more hours and save. The more hours you pre-pay, the greater the savings!
Or, submit a Task or Project now.
1,014 Visitors Online Now!     1,914 Total Visitors In Last 12.5 hours!   (8,719 registered members)  
Online Now... Sign In/Sign Up to see who's online now!