Your full service technology partner! 
-Collapse +Expand
Mike Prestwood
-Collapse +Expand Profile
Member Info
Member Narration

MB Posts (1410)
KB Posts (1805)
KB Comments (75)
Blog (4 Topics)

Tech Articles
FAQ Page◄╣
Tips Page (70)
Definitions Page (96)
Code Snippets (506)
Errors Library (15)
Resource Links (73)
File Library (49)

Search mprestwood:


   ► KBProfile: mprestwood  Print This     
Mike Prestwood

Mike Prestwood's FAQ Library

109 FAQs (frequently asked questions).

These FAQs are organized by our community groups then by our knowledge base sub-topics.

Expand All

Group: C++

Topic: Standard C++

-Collapse +Expand Q1. How do you comment code in C++?

Use two forward slashes to represent a single line comment:

// This is a C++ style single line comment.

You can also use multiple line comments:

This is a mutliple line comment. This
syntax is borrowed from C.

Topic: Visual C++ Specific

-Collapse +Expand Q2. What is the main usage of Visual C++? Can I create .Net apps with it?

Yes, you can build .Net runtime applications with Microsoft's Visual C++ as well as building native code Win32 applications and rich 2D and 3D games with The Game Creators SDK. You can use it to create other types of applications too including MFC and Smart Devices applications.

Group: Pascal and Delphi Coding

Topic: BDE


Topic: Delphi for Win32

-Collapse +Expand Q4. Can I call a DotNet DLL from my Delphi Win32 application? For example, with Delphi 7 or Delphi 2010?

It's not easy because the .NET RTL resides in a different process. You can wrap up the DotNet DLL into an ActiveX control and call it or have both your app and the DotNet DLL write to the registry, a file, etc. By the way, you CAN wrap up a Win32 DLL in a DotNet DLL and call it from DotNet.

Topic: Language Basics

-Collapse +Expand Q5. What is the difference between Camel Casing and Pascal Casing?

Camel casing capitalizes the first character of each word except the first word, it can frequently resemble a camel. Used by many languages including Paradox's ObjectPAL and Java.


Pascal casing capitalizes the first character of each word (including acronyms over two letters in length).

-Collapse +Expand Q6. What are the benefits of Win32/64 native code such as in Delphi over .Net?

In general terms, native code offers faster potential performance and a smaller footprint but can be more complex to build. Also, native code does not require .Net's runtime -- Common Language Runtime (CLR).

Topic: OOP

-Collapse +Expand Q7. What is the difference between private and strict private?

Private visibility means members are invisible outside of the unit. In OO terms, this is how Object Pascal implements friendly classes (visibility to the private members of another class). To implement true private members in Delphi 1-7, put each class in a separate unit (most developers didn't bother).

Strict Private visibility means that private members within a class are visible ONLY within the class declared. In OO terms, this is true private visibility.

-Collapse +Expand Q8. What is the difference between Protected and Strict Protected visibility?

Protected visibility means members are invisible outside of the unit. In other words, protected members are visible to the class they are declared in as well as descendant classes and any class declared within the unit.

Strict Protected visibility means that protected members within a class are visible ONLY within the class declared and to descendant classes. In OO terms, this is true protected visibility.

-Collapse +Expand Q9. What is a sealed class?

A class which prevents another class from inheriting from it and/or prevents another class from overriding a member. The concept of making sure a class is the last class in a descendant class tree.

Examples - /ASPSuite/KB/CrossRef.asp?LangID=&ToLangID=&CatID=10&SyntaxID=4

-Collapse +Expand Q10. Why do I have to specify virtual when creating an abstract method? Why not just abstract?

For abstract methods, you must specify either regular virtual with the virtual keyword or dynamic virtual with the dynamic keyword. In Delphi for Win32, virtual methods are optimized for speed and dynamic methods are optimized for size. The Delphi help indicates to use virtual for most situations. 

It is true that the compiler could make virtual the default and therefore optional but requiring one or the other is consistent with Object Pascal's strong typing.

Topic: Using Data

-Collapse +Expand Q11. How do you check screen resolution in Delphi?

Use the Screen variable which is a TScreen. The Screen variable is a TScreen component that represents the screen of the system on which the application runs. By default, applications create a screen component based on information from Windows about the current screen device and assign it to Screen.

For example, put the following code in a button click:

MessageDlg( 'screen width = ' + IntToStr( Screen.Width ) + ',
screen height = ' + IntToStr( Screen.Height ),
    mtInformation, [mbOk], 0 );

Topic: Using Controls

-Collapse +Expand Q12. How do you specify which color to use with TColorGrid from the samples page? Why isn't it documented?

Use the public methods ForegroundColor and BackgroundColor. For example, in the OnChange event of a ColorGrid component you could do the following:

procedure TForm1.ColorGrid1Change(Sender: TObject); 
   Edit1.Font.Color := ColorGrid1.ForegroundColor;
   Edit1.Color := ColorGrid1.BackgroundColor;

None of the components on the "Samples" page are documented.

Group: C# (Visual C# & VS.Net)

Topic: C#

-Collapse +Expand Q13. How do I take advantage of Application Virtualization in the application I'm coding?

You don't have to do anything special in your application. However, you do have to give certain folders and files the correct rights in your installer.

Group: VB.Net Language

Topic: WebForms (ASP.Net)

-Collapse +Expand Q14. How do you launch a Windows application in VB.Net? How do I open the default browser to a specific URL?
'Launch a Windows application.
'Or just...
'Open a website with the default browser.

Group: Corel Paradox / ObjectPAL Coding

Topic: Tool Basics

-Collapse +Expand Q15. I wanted to check out if there was a 64 bit Paradox for Windows. I believe this database tool is excellent especially in defining a database.

No 64-bit version of Paradox for Windows. Just the current 32-bit version and the older 16-bit version. However, 64-bit versions of Windows can run 32-bit programs very well. If you're running Vista 64-bit, you may wish to stick with Paradox 9 but Vista isn't a good OS for older programs. Interestingly enough, Paradox 9, 10, and 11 run fairly well on Windows 7 which means you can keep using your Paradox applications long into the future (just skip Vista).

-Collapse +Expand Q16. Does Paradox X4 have any new features over X3?

No, Paradox X4 (version 14) is Paradox 11 with SP2 applied (build There is no version 12, 13, or 14. In fact, no new features since version 10. Version 11 does have some significant bug fixes though and SP2 has even more fixes. Also, there are lots of rumors that Corel will release a patch for Paradox 11 soon that will address the Vista problems many users are struggling with.

-Collapse +Expand Q17. How can I purchase Paradox?

Answer from Corel...

Paradox was not updated from Paradox 10. It was given a new look, but the functionality remains mainly the same. Paradox 11 is available in the WordPerfect Office Professional version and can be purchased through Corel's online store or by calling us [Corel].  Paradox is also available as a standalone if you already own WordPerfect Office, and is [available] through our licensing program.  Within North America, please call 1-800-772-6735, Corel's Customer Support Services, to purchase the Paradox upgrade. We are open from Monday - Friday, 9:00 am - 7:00 pm E.S.T. and would be happy to serve you. For customers outside of North America, please visit to locate a Corel Customer Support Services Center nearest you.

Topic: Installation, Setup, & BDE

-Collapse +Expand Q18. Does Corel Paradox for Windows run on Vista? If so, are there any issues? What about Windows 7?

Paradox 9, 10, and 11 run well on Windows 7, so skip Vista. Paradox 9 does run on Vista (not well, but you can do it) and Paradox 10 and above do run but there are some issues to keep an eye out here for detailed notes. If you have an earlier version, it will run on Vista but we do recommend you upgrade to Paradox 9 or Paradox Runtime. Refer to the links on this FAQ for complete and detailed instructions.

All the latest versions of Paradox run very well on Windows 7 including Paradox 9, 10, and 11. We are currently recommended to our clients that they skip Vista.

-Collapse +Expand Q19. I have recently started learning to work with Paradox 9 and have found your book Paradox 9 power programing extremely helpful. I have encountered a problem and hope that you will be kind enough to assist. The problem has occured twice now so I don't think it is a finger problem. When I nearly reach a stage of completion, on opening the program it goes into tile mode, a few seconds later the program tell me to abort (Corel Paradox crashes on startup). Should you be able to give me any assistance I would be most appreciative.

Using Paradox 9 on XP with CorelDraw or any other programs is fine. No problem there. Not sure what the issue is though. You might want to try starting Paradox with a clear desktop using the -c command line option. You can search the help file for command line options for usage. If that isn't the problem, then you must have a bad installation of Paradox (try reinstalling) or some other program is causing it to crash (doubtfull with XP memory management).

-Collapse +Expand Q20. I recently upgraded to Windows XP and now Paradox 11 cannot open SQL Server database tables. In the open-dialog-box, I see the aliases, but cannot select one which is linked to a SQL server database. The same thing happens, trying to create a QBE query, new form, etc... All existing queries, forms, ... are working (using these aliases).

Solution was to apply the latest BDE patch, all works as it should.

-Collapse +Expand Q21. Paradox does not remember desktop settings. I just installed Paradox 11 on a new computer and my working directory and other settings do not stick when I restart Paradox. Why?

Paradox 11 installs a registry cleaner (PdxRegCl) and that is the culprit. The quick fix is to delete the PdxRegCl.exe file in the Paradox folder. For a more complete "cleanup", delete the PdxRegCl.ini file and any PdxRegCl registry entries you find.

Topic: Paradox Tables

-Collapse +Expand Q22. What is the best way to copy my Paradox tables?



-Collapse +Expand Q23. I was just reviewing the Paradox Table Specs in your Paradox developer reference area. I found specs through Paradox 7 only, and I'm really interested in Paradox 10. Is it available?

No. Actually Paradox 7 "table structure" is the latest very flexible table structure. The only table structures are 1...3.x, 4.x, 5, and 7. No such thing as a Paradox 9 or 10 or 13 table structure.

Topic: Interactive Paradox: Using Data

-Collapse +Expand Q24. How do I import an Excel 2003, XP, or 2007 spreadsheet?

Corel Paradox 9, 10, and 11+ can import Excel spreadsheets up through Excel 97 so you need to save the spreadsheet as an Excel 97 spreadsheet. Then you can import it in Paradox using either the interactive File | Import option or with ObjectPAL's importSpreadsheet procedure.

If you have trouble with then Excel 97 file format (and you may depending on the version of Excel you are using), try saving the file as an Excel 4 file format. The worst case scenario, is that you may have to save the file as a dBASE table file format (.DBF) which you can directly use in Paradox and even copy it to a Paradox table (.DB).

-Collapse +Expand Q25. Does Paradox for Windows support .PNG image files?

Yes, Paradox 10 and 11 support .PNG graphics. For example, you can insert a .PNG using Edit | Paste From. However, Paradox 9 and earlier do not.

Note: All images stored in a Graphic field in Paradox tables are stored as uncompressed BMP images. This FAQ is about Paradox for Windows' ability to paste or import .PNG images into the .BMP formatted Graphic field type. For earlier versions of Paradox, you have to first convert the image.

Topic: OPAL: Wicked Coding Tasks

-Collapse +Expand Q26. Does Paradox for Windows support TWAIN?

Yes, interactive support was added with Paradox 9 SP1 and ObjectPAL support was added with Paradox 10. Here's a good article for Paradox and TWAIN:

Topic: OPAL: Win32 Calls

-Collapse +Expand Q27. I'm making a DLL Call and I need to pass a logical, I tried passing an ObjectPAL logical data type and that didn't work. How do I pass a logical to a function in a DLL?

With DLLs you are limited to the DLL Uses types of CWORD, CLONG, CDOUBLE, CLONGDOUBLE, CPTR, and CHANDLE. All other parameter types must be mapped to one of these fundamental data types. Because logicals are really just null, 0, or 1, you can use a CWORD which maps to ObjectPAL's SmallInt data type (an integer).

Topic: Professional Paradox/ObjectPAL Help

-Collapse +Expand Q28. I like the concept and feature-set of Paradox, but wonder if it can handle very large transactions and storage?

We like Paradox's feature set too but it's not the right tool for every situation. For very large transactions and storage, we prefer a true SQL server over ALL file-based databases including over Paradox. Although we judge and discuss the viability of toolsets for each project, we do have standards we steer our clients toward. For example, we steer our Paradox-oriented large transaction/large storage needs clients toward SQL Server 2005 with either VS.Net as a front-end or Delphi (for a true native code solution).

Topic: Runtime, PDE, Package-It!

-Collapse +Expand Q29. My company has a Paradox application. Can I turn it into a true Windows application? A true Win-32 executable?

No. To deploy your Paradox application, you can use either the full version of Paradox or the runtime version. The runtime version is almost as big as the full version but it's been free since version 9. If you deploy using the full version of Paradox, you need a license for each user. You can order a multi-user license from Corel at a deep discount.

If you really need a true Windows executable, you'll have to rewrite the application in another development tool like Delphi or Visual Studio.Net. If you need help with this you can contact a company like Prestwood Software who has experts in Paradox and in the target development tool.

Topic: Paradox for DOS

-Collapse +Expand Q30. Does Paradox for DOS' CPUTest.EXE run on Vista?

Ok, that's a bit of a silly question, but yes it does. It may not appear to run but if you tell Windows not to close on exit, it works just fine.

  1. Right click on CPUTEST.EXE, select Properties.
  2. From the Program tab, uncheck Close on exit.

By the way, my dual core 2 GHz CPU passed.

-Collapse +Expand Q31. Can I run Paradox for DOS on 64-bit editions of Windows Vista, Windows 7, 8, 10?

No. DOS has been removed. 16-bit programs are not directly supported on 64-bit versions of Windows Vista, Windows 7, 8, or 10. Although 64bit Windows editions come with the Command Prompt for executing DOS commands and creating scripts, it does not run DOS programs.

Recommendation: Download a DOS emulator such as DOSBox.

-Collapse +Expand Q32. Does Paradox for DOS run on Vista?

Yes, but you must use the compatibility mode.

Group: ASP Classic Coding

Topic: ASP Classic

-Collapse +Expand Q33. How do you find last Monday? I want to return a date for last Monday or today if today is Monday.
While Weekday(ADate) <> vbMonday
     ADate = DateAdd("d", -1, ADate)

You could wrap this up in a function as follows: 

Function SU_GetLastDOW(ADate, AWeekDayConst)
    While Weekday(ADate) <> AWeekDayConst
    SU_GetLastDOW = ADate
End Function
-Collapse +Expand Q34. What does VBScript stand for?
Answer: VBScript is short for Visual Basic Scripting. VBScript brings scripting to a wide variety of environments, including Web client scripting in Microsoft Internet Explorer and Web server scripting in Microsoft Internet Information Service. It is used in Visual Basic, Access, Word, Excel, ASP, etc.

Topic: Tool Basics

-Collapse +Expand Q35. Can you edit Access and MS SQL Server views?

Although this question really depends on the provider, in general, the answer is no to MS Access views and yes to MS SQL Server views so long as you open the RecordSet editable.

Topic: Language Details

-Collapse +Expand Q36. What is the syntax in ASP Classic for using an associative array?

Use a dictionary:

Dim StateList
set StateList = Server.CreateObject("Scripting.Dictionary")
StateList.Add "CA", "California"
Response.Write "NV is " & StateList("NV")

For more examples, refer to our ASP Classic Associative Array (Scripting.Dictionary) article.

Group: Website Design & Hosting

Topic: Artistic (design, layout, etc.)

-Collapse +Expand Q37. Any suggestions on buidling a DHTML/Javascript menu for my web site?

Don't reinvent the wheel. Use one of the many menu builders on the market. 

I use a product called DHTML Menu Builder. He's worked out all the problems and it really didn't seem worth my time since someone else had already worked out all the issues between different browsers and browsers on different OSes. His menus still aren't perfect, but boy, they sure are close.

The software is located at

-Collapse +Expand Q38. What browsers and resolutions should I test my website with?

As of early 2008, we test each website we build with the latest release of Internet Explorer, FireFox, and Safari. Sometimes we also include Opera but not usually. Also, if desired, we sometimes test with older versions of browsers but not usually. The minimum resolution we test "regular" websites is 1024x768 (and higher). We no longer support 800x600.

Topic: Cascading Style Sheets (CSS)

-Collapse +Expand Q39. What is a Cascading Style Sheet?
Answer: A cascading style sheet is a text file with a .CSS extension on your web site that indicates how the web page styles should look. Cascading style sheets make color and style changes easy.

Topic: Graphics

-Collapse +Expand Q40. Should I use GIF or PNG images on my website?

Although the PNG format is slightly superior to the GIF format, GIF is more compatible with older browsers so we are currently recommending you use GIF images. That's the quick answer. However, there are issues so if you wish to use PNG images, read up about it to understand it's pros and cons.

-Collapse +Expand Q41. Why do images sometimes resize smaller well, and sometimes not? Sometimes when I resize an image to a small 100 pixel width or less image it looks great and sometimes it's very choppy.

1. You probably need to increase the number of colors prior to resizing. Some programs will do this for you automatically and some don't. For example, when working with a transparent GIF or PNG, the color palette is set to 256. If you shrink a transparent GIF or PNG, it will likely look choppy. However, if you increase the number of colors to 16-bit or higher, than resize, it looks great. Of course, you'll have to reapply transparency.

2. Various programs use various algorithms to resize images, make sure you try them all.

Topic: HTML Language Reference

-Collapse +Expand Q42. How do you embed a copyright character/symbol into an HTML page?

The best technique is to use the &copy;entity reference.

For example:

2011 SomeCompany

Topic: Server Farm: RS

-Collapse +Expand Q43. What is the password standard for the RS pop3 accounts?
Answer: The password standard on our RS servers changed in 2007 to 6 characters with at least 1 number.

Group: Java

Topic: Standard Java

-Collapse +Expand Q44. How do I tell if Java is installed?

You can test whether you have Java installed at

Group: JavaScript and AJAX

Topic: Beginners Corner

-Collapse +Expand Q45. How do you close a browser in a link?
Answer: You can do close a browser using JavaScript. Here is an example:


-Collapse +Expand Q46. How do I protect my javascript code?
Answer: In the main you don't, as the language is ran from source, you need to deliver the source code, with JScript, there is the Script Encoder (see MSDN) but this is nothing more than obfuscation in effect, disabling the Right Mouse button, also achieves nothing to protect your script in a web browser. Your code is likely protected under copyright laws.
-Collapse +Expand Q47. What is JavaScript?
Answer: JavaScript is a platform-independent, event-driven, interpreted programming language developed by Netscape Communications Corp. and Sun Microsystems. Originally called LiveScript (and still called LiveWireTM by Netscape in its compiled, server-side incarnation), JavaScript is affiliated with Sun's object-oriented programming language JavaTM primarily as a marketing convenience. They interoperate well but are technically, functionally and behaviorally very different.

JavaScript is useful for adding interactivity to the World Wide Web because scripts can be embedded in HTML files (i.e., web pages) simply by enclosing code in a tag pair. All modern browsers can interpret JavaScript -- albeit with some irritating caveats. (More about them below.)

In practice, JavaScript is a fairly universal extension to HTML that can enhance the user experience through event handling and client-side execution, while extending a web developer's control over the client's browser. And that's worth a FAQ.

Topic: JavaScript and AJAX

-Collapse +Expand Q48. How do you specify the browser size of a window in a link?
Answer: You can do this using JavaScript. Here is an example:

javascript:MM_openBrWindow('', 'compare', 'scrollbars=no, resizable=no, width=600, height=420')

-Collapse +Expand Q49. How is JavaScript syntax like C / C++?
Answer: The languages have enough in common to make learning one easy if you know the other. By the same token, the differences are subtle enough to trip up those proficient in both. Here's a short list comparing C and JavaScript:
  • Terminating JavaScript command lines in semicolons is optional; in C it's mandatory. Recommended practice is to use them religiously in both languages (and Java as well).
  • Both JavaScript and C are case-sensitive; 'doThis' is different from 'DOTHIS'. Experienced programmers learn to love this feature, which drives beginners nuts.
  • Both JavaScript and C are block-structured computer languages and employ curly brackets -- '{' and '}' -- to delimit blocks.
  • Both JavaScript and C employ quotation -- enclosure in single or double quote marks -- to designate text strings.
  • Arrays in both JavaScript and C are zero-based; the first element is myArray[0], not myArray[1].
  • Both JavaScript and C employ '==' for comparison, '=' for equality, and '!' for negation. In fact the set of JavaScript operators is essentially borrowed from C (right down to the deprecated ternary construct a ? b : c).
  • Both JavaScript and C employ the symbols /* to designate a comment */. JavaScript also permits the use of '//' for short comments, as in C++.

Finally, JavaScript's statements are a strict subset of C++'s, offering a smaller selection of identical looping and conditional constructs.

-Collapse +Expand Q50. How do you pass values from ASP to Javascript in the same page?

The same way you do with HTML. Here is a simple example:

Dim MyName
MyName = "Mike Prestwood"
<script language="javascript">
document.write('Hi <%=MyName%>')

Group: PHP & Delphi for PHP

Topic: Beginners Corner

-Collapse +Expand Q51. Do PHP scripts need execute rights?
Answer: No, PHP scripts do NOT need execute rights. The server knows to pass files with a .PHP extension to the PHP processor. The PHP processor then interprets code between the <?PHP and ?> indicators.

Topic: Delphi for PHP

-Collapse +Expand Q52. What PHP version does Delphi for PHP support?

Delphi for PHP is based on PHP version 5. Meaning, the VCL for PHP extends the standard libraries that ship with PHP 5. This also means you can deploy your Delphi for PHP website on any hosted website that has PHP 5 installed.

Note: You can deploy your Delphi for PHP websites on the hosted websites we offer on our web hosting services website.

Group: Coding & OO

Topic: General Info, Installation, etc.

-Collapse +Expand Q53. What are the benefits of managed code over native code?

In general terms, managed .Net code is a little more portable (will run on any platform with the correct CLR installed) and is easier to write. However, managed code may run slower and require more system resources.

Topic: General Tasks

-Collapse +Expand Q54. How do you enable ASP.Net (ASPX) in IIS 6?

You turn on ASPX in your control panel. Depending on what O/S and version of IIS there are slightly different steps required but essentially you go to the Add/Remove Programs, Alter Windows Components, and make sure ASPX is checked in the Application Server or Application Development Services.

More Info / Details -;en-us;332124&Product=winsvr2003

Group: DBA, Databases, & Data

Topic: ANSI SQL Scripting

-Collapse +Expand Q55. Is there a way to reverse order a select statement?

Yes. Use the DESC keyword in your order by clause on each column you want ordered descending. Use ASC for ascending.

select * from Customer 
Order by Age Desc, City Asc, State Asc

Topic: Microsoft SQL Server

-Collapse +Expand Q56. What is the differences between Char, NChar, VarChar, and NVarChar?

A Char field is a text field of a specific length. For example, a Char(50) field takes up 50 characters of storage in most databases even if you only store 1 character in it., or even none. 

A VarChar field is a text field of variable length. For example, a VarChar(50) field can be up to 50 characters but if less is stored, the length of the field is somewhat less than 50. If you only store 1 character in a VarChar, then generally only 1 character of space is taken up in storage.

The "N" in NChar and NVarChar stands for National character which means you can store unicode text. NChar and NVarChar take up twice as much storage space.

-Collapse +Expand Q57. Are views in Microsoft SQL Server editable?
Answer: Yes and no. Yes, there is nothing in MS SQL Server preventing a client from writing to the underlying tables involved in an view. Therefore, it is left up to the tool accessing the view. Many tools allow you to edit views in SQL Server including ASP Classic, ASP.Net, VB, Access, etc. Some tools, like SQL Server Management Studio allow you to edit tables, but not views.

Group: Windows Users

Topic: Microsoft Office

-Collapse +Expand Q58. How do you turn off Markup comments in Microsoft Word so the next time I open a document, I do not see the markup comments by default?

In Word 2002, Word remembered your last Markup setting. In Word 2003 Microsoft changed the default behavior so all readers will see the comments if they exist. To change this default behavior, select Tools | Options, select the Security tab, then uncheck Make hidden markup visible when opening or saving. This per document setting is saved with the document.

Topic: Windows 7

-Collapse +Expand Q59. How much memory do I need with Windows XP?

With the size of applications and data, my belief is the more the better. For 32BIT Windows, a minimum of 2 GB of RAM is good, but 4 GBs is better. With 64BIT Windows, most users will benefit from at least 6GB of RAM.

Topic: Windows Users

-Collapse +Expand Q60. Can I install software in Windows safe mode?

Depends on the software. If a software installation relies on something that is disabled in Safe Mode, then it will not install correctly. In addition, some software will not let you. For example, Norton Anti-Virus will not allow you.

If you boot up in Safe Mode with Networking, you can also browse the internet. For example, you can frequently browse to and use their free online virus scanning software to remove viruses that have disabled your computer.

-Collapse +Expand Q61. What is the relationship between ReadyBoost and virtual paging?

All files cached to ReadyBoost are still backed up on disk in virtual memory. This is why you can disconnect a ReadyBoost device anytime you wish. ReadyBoost increases overall speed because random I/Os are faster with flash RAM than with disk. It's interesting to note that some hard drives are much faster at sequential I/O than flash RAM so ReadyBoost focuses on caching virtual memory which is random I/O intensive. Many industry experts expect flash RAM to outperform disks in the near future especially now that Microsoft has created a market for super fast flash RAM devices.

-Collapse +Expand Q62. How do I uninstall Internet Explorer 9?

You can uninstall IE9 and revert to your previous version of IE. On Vista/Windows 7, go to the Programs and Features control panel applet, select View Installed Updates, scroll down to the Microsoft Windows section, select Windows Internet Explorer, finally click the Uninstall button.

-Collapse +Expand Q63. What is the maximum file + path name allowed in Windows?

BEST ANSWER: The maximum for both FAT32 and NTFS is a combined 255 characters. This is true for all 32bit and 64bit Windows operating systems as of May 2016 including Windows 10.

MAX_PATH CONSTANT: FAT32 technically has no full-path limit and the NTFS limit is 32,767. However, Microsoft limits the allowable size of a full-path ([drive][:][path][each separating\][null]) to 260 characters with the MAX_PATH constanst. This means that most programs can handle and are limited to a path + filename length of 255 characters plus drive letter, colon, separating \'s, and a null.

-Collapse +Expand Q64. What is the difference between Windows Update and Microsoft Update?

Windows Update installs new operating system features and fixes. Microsoft Update does that too but also updates some Microsoft products such as Office updates. Depending on which operating system you are using, you may already be using Microsoft Update. To check, go to Windows Update and check the settings for a Use Microsoft Update option or a checkbox that asks you if you wish to stop using Microsoft Update in favor of just using Windows Update.

Topic: Windows Vista

-Collapse +Expand Q65. How do I enable Offline Files in Windows Vista?

In Vista Professional and above, Offline Files is now a Control Panel applet. Go to your control panel, open the Offline Files applet and click the Enable Offline Files button. Offline Files is NOT available in Vista Home Edition nor is it availble in Windows XP Home Edition.

In Windows XP, Offline Files is part of the Folder Options. To enable Offline Files in XP:

  1. Click Start, and thin click My Computer.
  2. On the Tools menu, click Folder Options
  3. Click the Offline Files tab.
  4. Select the Enable Offline Files check box, and then clock OK.
-Collapse +Expand Q66. How do I turn on Vista Aero?

The short answer is you shouldn't have to if your computer is running Vista and it has the proper hardware. Assuming you do and you've turned off Aero, you turn it back on in the classic Appearance Settings properties dialog.

  1. Right click your desktop and select Personalize.
  2. Select Windows Color and Appearance.
  3. Select the Open classic appearance properties for more color options.
  4. Select Windows Aero from the Color Scheme list.

If Windows Aero isn't listed, then you need to check your hardware. For example, when I plug in my third monitor using a USB VGA card, Aero automatically turns off until I unplug my third USB monitor.

-Collapse +Expand Q67. What size ReadyBoost compatible USB 2 Flashdrive should I buy?

If you intend to use it ONLY for ReadyBoost, the current limit ReadyBoost will use as of early 2008 is 4 GB. Another guideline you could use is that Microsoft is currently recommending a ReadyBoost cache size of 1 to 3 times your RAM. So, if you have 1 GB or RAM, they recommend a 1 to 3 GB ReadyBoost cache.

-Collapse +Expand Q68. How many processors can Windows Vista use?

Vista targets consumers so it does have limits. Vista Business, Enterprise, and Ultimate OS support 2 physical CPUs; others support one only. There is no limit on the cores. So, for example, you could have 2 physical CPUs with 2 cores each and Vista Business will fully utilize all four processors. If you need more, use the Windows server OSes.

-Collapse +Expand Q69. How much memory do I need with Windows Vista?

With the size of applications and data, my belief is that you need a minimum of 2 GB of RAM not because it's required, but because Vista will use it. In Windows Vista, the caching scheme changed. Vista's SuperFetch built on and replaced Prefetch. Unlike Prefetch, SuperFetch will use up ALL memory you give it so you want as much memory on Vista as you can afford. My current Vista system has 3 GB of RAM with an additional 4 GB ReadyBoost compliant USB flash drive.

Group: Computer Tech

Topic: Software

-Collapse +Expand Q70. I set up the SMTP virtual server on my web hosting server. I can send from other boxes, but not from websites hosted on the box that has the SMTP Virtual Server. Any ideas?

Check the IP address of the SMTP Virtual Server. If you want to serve ALL IP's on that box, then set it to All Unassigned IPs.

Topic: Windows Server 2003

-Collapse +Expand Q71. On Windows Server 2003, how do you assign a specific range of IP addresses using DHCP to VPN clients?

On your VPN server, in Routing and Remote Access (Administrative Tools | Routing and Remote Access), right click server (your VPN server), select Properties. On the IP tab, edit the Static Address Pool.

-Collapse +Expand Q72. I have several Windows 2000 Servers, should I upgrad them? I have to setup a new server, should I install another Windows 2000 Server or dive into Windows 2003? What about Windows Server 2008?

We currently recommend at least Windows Server 2003 and actually prefer Windows Server 2008 because too much "new" software just does not install on Windows 2000 Server. For example, Quickbooks 2009 database install requires Windows Server 2003 or higher.

-Collapse +Expand Q73. In Windows Server 2003 terminal server, how do you automatically log off disconnected sessions? I'm getting the following error: "The terminal server has exceeded the maximum number of allowed connections. The system can not log you on. The system has reached its licensed logon limit. Please try again later."

On your terminal server, adjust the Set time limit for disconnected session setting. In Group Policy Object Editor (Start | Run | gpedit.msc), drill-down to the setting: Computer Configuration > Administrative Templates > Windows Components > Terminal Services > Sessions. You'll see 5 settings you can adjust.

Topic: Wired Networking

-Collapse +Expand Q74. Do I need different connectors for Cat 6 then what I'm currently using for Cat 5?

No, Cat 5, 5e, 6, and 6a all use the same RJ-45 connectors and are downward compatible. Meaning you can use a Cat 6 cable in a Cat 5 network. The difference is in the quality of the cable. Cat 5e is rated higher than Cat 5, Cat 6 is rated higher than Cat 5e, etc.

However, when building a Cat 5 or Cat 6 cable, you have to use the correct type of connector. Meaning, Cat 6 connectors are built differently even though you can use already made cables.

-Collapse +Expand Q75. Can I run a Gigabit network over Category 5 or Category 5e?

No to CAT 5, or at least almost never. Yes to CAT 5e. Category 5e cable is enhanced over Category 5 to adhere to more stringent standards and is recommended over CAT 5 for speeds above 100 Mbps and up to 1 Gigabit.

However, Category 6 or 6a is recommended over CAT 5e because of it's even higher quality and some properly installed CAT 6 networks can support 10 Gigabit speeds. Although for 10 Gigabit, CAT 6a is recommended.

CAT 7 is rated for 10 Gigabit but supports up to 100 Gigabit.

Group: Testing, QA, QC

Topic: Testing, QA, QC

-Collapse +Expand Q76. What is the difference between quality control and quality assurance?
Answer: Qulity assurance is a process in which you compare the deliverable to the requirements to verify the deliverable meets the need. Quality control is a process employed to ensure a certain level of quality. Prestwood Software Development Process is an example of a process used in quality control to ensure a certain level of quality.

Group: Computer Industry

Topic: IT Water-Cooler for Power-Users

-Collapse +Expand Q77. I was told I needed to know about Kerberos for security reasons. What is it and why should I know about it?

Microsoft has adopted Kerberos version 5 authentication protocol. Kerberos is a network security authentication protocol developed by MIT. It's important to you because starting with Windows 2000, Microsoft has adopted Kerberos version 5 authentication protocol as the default network authentication protocol.

Click here to read a Microsoft white paper on the subject.

Topic: Power User Info

-Collapse +Expand Q78. What is the origin of the Bluetooth name?

The Bluetooth SIG adopted the name in honor of the tenth-century Vicking king Harold Blatand (Bl�tand) nicknamed King Harold Bluetooth. He is known for uniting Denmark and Norway (the Bluetooth technology was invented in now Swedish Scania -- Denmark). Likewise, Bluetooth is intended to unify different technologies including computers and phones. The Bluetooth logo merges the Nordic runes analogous to the modern Latin H and B.

Group: PM, Process, and PSDP

Topic: PSDP Artifacts

-Collapse +Expand Q79. I'm starting a new project, should I use PSDP Artifacts or just collect individual items?

The problem with collecting individual items is that the user inputting the item tends to put to much information in tasks and use requirement items and design items only as a secondary thought. When collecting project information, you generally collect a combination of what the customer wants (the requirement), how you want to code it (the design), how to test it (the test script), and even a bit of end-user documentation. Your tendency will be to put all of it in whatever bucket your looking at. A PSDP Artifact puts you on a single page where you can put information into their correct place, their correct bucket.

By using primarily Artifacts, you put yourself in the correct frame of mind while developing that feature from the first time you talk about it through testing it, and artifacts make managing linked items easier (one location to deal with name, category, linked actors, etc.)

-Collapse +Expand Q80. I'm struggling with what to define as a PSDP Artifact. I'm worried I'll get too detailed or too general. What is the scope of a typical PSDP Artifact? Is there a rule of thumb?

There is no right or wrong way to define the scope of a PSDP Artifact. More artifacts leads to a heavier process, less to a lighter. A good rule of thumb is to create them based on intended deliverables or on the content of the requirements.

For deliverables based, you can start with one PSDP Artifact per form and report and/or per table in the database skipping minor items. For websites you may want one per page. This works only if you're prototyping and creating the database at the same time that you are gathering requirements (PSDP recommends this approach).

If you are gathering requirements up front without defining the database nor prototyping, deciding on what artifacts to create takes a bit more effort. Sometimes you can delay creating them or you can group them based on their content. If you're using UML diagrams, you could create one PSDP Artifact per Use Case Diagram or per Use Case.

-Collapse +Expand Q81. I've assigned the PSDP Artifact to one developer, how do I manage the filling in of design, the building of the artifact, and testing?
Answer: If one person is assigned to the filling in of the design items, create one or more additional tasks assigned to that person with a description to fill in all artifacts. If, for example, two developers are then going to build (code) the artifacts, assign one or more tasks to each developer with a description to build specific artifacts. For testing, you'll want a minimum of two tasks, one to complete the test scripts and one task to test each build (a test suite and results is associated with a build). The resulting defects have workflow with assignment built into each defect (a defect is really just a specific type of task).
-Collapse +Expand Q82. How do PSDP Artifacts relate to UML Diagrams and other traditional software documentation?
Answer: If you're doing full blown UML based requirements, then you may wish to not use the requirements section of PSDP Online. However, if you're just using UML Use Case Diagrams to document process, then you can use one PSDP Artifact per use case as a guideline.

Topic: PSDP Change Orders

-Collapse +Expand Q83. When should I execute a change order on a time and material project?
Answer: At a minimum, execute a change order whenever the project budget will increase and when it will decrease by a substantial amount. Although not required, you should execute a change order whenever features migrate or are swapped out for other features. You should execute a change order even when the swap has no apparent impact on budget. I say "apparent" because analysts frequently do less research on changes especially when they look like they will have no impact on the budget.
-Collapse +Expand Q84. With a PSDP online project, when should I activate the change orders module and when should I create a change order?
Answer: At Prestwood Software, all billable projects over 40 hours must make use of the change order module. Your first entry in the change order module is your first estimate/budget (a change from 0 to an initial minimum budget). After that, add a change order whenever the project budget increases (mandatory), decreases substantially (optional), or features are changed or swapped out (optional).

Topic: PSDP Phases

-Collapse +Expand Q85. How do PSDP Phases relate to PSDP Artifacts and the usage of each?

They don't really. In PSDP Online, you set the PSDP Phase of tasks and their two sub-types defects and artifacts only. Requirement Items, Design Items, and Test Scripts do not use the concept of PSDP Phases because they are documentation-only items. You add various development tasks set to the appropriate phase to create, flesh out, and use them to build and test but they do not contain workflow themselves.

The PSDP Phase of Defects is always Phase 6 Testing & Rework. Although Tasks and PSDP Artifacts can be set to any PSDP Phase, their default is Phase 2 Requirements. For PSDP Artifacts, most of the time you will leave it set to it's default. On the other hand, you will set tasks to whatever phase the task belongs to.

-Collapse +Expand Q86. What is the default phase for a task, artifact, and defect?

The default phase for a defect is Phase 6 Testing & Rework. The default phase for a task or PSDP Artifact is Phase 2 Requirements. Whether or not you have enabled PSDP Phases for a project, the defaults are always set just in case you enable PSDP Phases.

Even though PSDP Artifacts contain a Task, Requirement Item, Design Item, and a Test Script, it belongs to the requirements phase because the Requirement Item is the first real software documentation item. An additional task or tasks of filling in design items belong to Phase 4 Detail Design. The task of coding the artifacts belong to Phase 5 Initial Coding, and finally the task of completing of the test scripts and testing a particular build belongs to Phase 5 Testing & Rework.

Topic: PSDP Project Management

-Collapse +Expand Q87. In PSDP, when is it appropriate to review the project budget and project tasks?

The short answer is at the end of each phase. For larger projects, you may wisth to review more frequently. For all size projects this should not interfere with the normal communication.

If you're using PSDP Online, review the tasks online at the end of each phase. It's a convenient way to view both the big picture total hours as well as drilling down into each task. You can view by phase, category, checkpoint, start date, or due date. If the scope of the project is too large, move items to the wishlist.

With the Rolling Estimates approach, the minimum project budget is adjusted at the end of Requirements, and Detail Design phases. The true scope of the project is known at the end of the detail design phase.

Group: Analysis & UML

Topic: Analysis & UML

-Collapse +Expand Q88. Should the analyst be responsible for collecting domain entities and attributes?

If the analyst is qualified sure, but if they're not, don't push it. Many times a resource was made the analyst not because they are a great analyst but because they have great people skills, know the domain well, and can document process well. Under that scenario, I prefer a programmer analyst work with the business analyst to identify entities and attributes. If the analyst is not good at documenting process, find a new analyst.

In PSDP, we overcome this problem by creating the database and GUI prototype during the requirements phase. By forcing the creation of the database while discovering what the client wants, you force the identifying of entitities and attributes.

In UML, sometimes analysts create class diagrams to create the database. The Data Model is a much better choice.

Group: American I.T. Workforce

Topic: American I.T. workforce

-Collapse +Expand Q89. I have a a 2 year associates degree and 1 year of work experience as a Programmer. Do I qualify for the H-1B visa?

No. You must have at least a U.S. Bachelor (4-year) Degree or it's equivalent.

3 years of work experience is equivalent to 1 year of University. So, if you have 6 years of work experience and 2 years of college, you could qualify. The Degree and work experience must be directly relevant to your job title.

-Collapse +Expand Q90. How does the H-1B visa quota criteria work?

Each October 1st, the USCIS makes available a certain number of H-1B visas for the next 12 months.

The Quota for the Fiscal Year (FY) 2007 (October 1st, 2006 to September 30th, 2007) is 65,000. There is also a quota of 20,000 for US Master Degree Holders, effectively making the quota 85,000.

The earliest you can apply for the H-1B Visa is 6 months before the requested start date. You may file on or after 4/1/06 for a 10/1/06 start date.

H-1B visa holders are not subject to the quota when applying for a transfer to another company or an extension with the same company.

-Collapse +Expand Q91. Can an H-1B Visa holder come to the United States with the intention of staying permanently?

No. Under U.S. law, a non-immigrant is a visitor traveling to the U.S. that does NOT intend to stay permanently. To stay permanently, the visitor must obtain an Immigrant Visa (IV). An H-1B Visa is a type of NON-Immigrant visa (NIV).

-Collapse +Expand Q92. I would like to work in the U.S. Can I apply for the H-1B visa by myself, without an employer?
Answer: No. You must have a legitimate job offer from a U.S. company or organization.

Topic: American-Based Companies

-Collapse +Expand Q93. Which anti-adware/anti-malware products are made by American-based companies?

There are several free and paid American-based products. I tend to recommend the free Spyware Blaster for home users and Webroot's SpySweeper for businesses.

To be clear, the two leading free anti-adware products SpyBot Search & Destroy and Ad-Aware are not American-based. However, unlike anti-virus software, you can run multiple anti-adware products at the same time and benefit from their combined protection. For home users, I like to make sure they have enough RAM and install both the American-based Spyware Blaster and the Swedish-based SpyBot Search & Destroy. That's a powerful combination. For our business clients I tend to stir them toward Webroot's Spysweeper.

Topic: Foreign Worker Visas: H-1B, L-1

-Collapse +Expand Q94. Do employers have to pay to hire an H-1B worker?

Yes, they have to pay about $2,000 and they frequently ask the worker to pay the fee.

-Collapse +Expand Q95. Do H-1B workers have to have a specialized skill?

No, they only have to have a BS degree in math, science, or engineering. There is no such thing as a skills test, nor standard, nor GPA requirement. An H-1B worker can have a D average from the worst college in the world.

Group: Microsoft Access

Topic: General, Presales, & Installation

-Collapse +Expand Q96. Can I use an Access 2002 application in Access 2003?

Yes, you can either convert it to Access 2003 format or leave it as 2002 format and use it with Access 2003.

Topic: MDB DB & Tables

-Collapse +Expand Q97. Should I store images in my Microsoft Access MDB database our outside and just store the name?

Store the image outside of your MDB Access database. There are many benefits to storing it outside of Access including the following:

  • More easily work with all the images at once.
  • avoid the overhead of an OLE server
  • decrease the size of your MDB file
  • easily reuse images with other development tools such as a website, VB, VS.Net, etc.
  • Metadata is preserved

Topic: Using Data

-Collapse +Expand Q98. My Access Application still uses DAO and I'm thinking about migrating it to ADO. Should I?

No, especially if your accessing Access tables. It is true that ADO is more widespread but if your application is working with DAO, then there's no significant reason to switch. If you're starting a new Access Application that accesses Access tables, I would use DAO. If you're accessing a SQL server such as MS SQL or Oracle, I would use ADO.

Beside DAO and ADO, developers can also use OLE DB and ODBC.

Group: Delphi Prism

Topic: Delphi Prism

-Collapse +Expand Q99. What is the difference between a partial method and an abstract method?

Both are very similar in usage. However, a partial method is a callable empty method whereas an abstract method is a defined method in a parent class that must be implemented in a child class. Contrast this with a partial method which can be implemented in a child class but does not have to be. Partial methods are common with code generators for managing events.

Topic: Tool Basics

-Collapse +Expand Q100. Does Delphi Prism look and feel like Visual Studio or Delphi? In other words, is Delphi Prism VS.Net or Delphi?

Delphi Prism is Visual Studio.Net. If you have Visual Studio.Net installed, the Delphi Prism installation plugs into your existing VS.Net installation. If you don't own VS.Net, the installation installs the Visual Studio Shell before plugging in Delphi Prism.

-Collapse +Expand Q101. How close is the syntax for Delphi for Win32 and Delphi Prism?

Pretty close. You will definately be comfortable but there are differences. Delphi Prism includes a "compatibility" switch you can use that will enable certain "Delphi for Win32" language features so you can increase your comfort level. This option can be set on a per-project basis as part of the project options tab.

Although I'm just getting started, I will be documenting differences in my Delphi and Prism Cross Reference Guide. This guide will help when you switch from one language to the other.

-Collapse +Expand Q102. Can I share code between a Delphi and a Dephi Prism project? I want to have a single source Win32 and .Net application.

No, not really. Because both are Object Pascal based, you could share routines but there are enough syntax differences that make sharing large amounts of code difficult.

Use Oxidizer to help port your Win32 Delphi application to a .Net Prism application.

You can also try out ShineOn which is an implementation of the Delphi for Win32 RTL.

-Collapse +Expand Q103. I'm a big fan of VCL.Net. Is VCL.Net a part of Delphi Prism?

No. For existing VCL.Net based applications I recommend you stick with Delphi 2007 until it's time to convert it to Delphi Prism.

Group: Client Extranet

Topic: New Client Area

-Collapse +Expand Q104. How many employees does Prestwood have?
Answer: We are a small consulting firm. In addition to our roughly 15 employees and 20 contractors, we have an army of resources available from our online groups. We use only pre-qualified and pre-screened developers.
-Collapse +Expand Q105. Why is it so difficult to give an estimate for projects?

It’s not difficult if we have all the requirements, and its’ fool hardy to give estimates without detailed requirements. Think of it in these terms. Would you ask a contractor for an estimate on building your dream home without giving him any architectural plans? What would be your confidence level that he would understand what the house is suppose to look like and that it would include all the features and aesthetics you wanted? What would be your confidence level that the estimate he gave you would be remotely close to the actual cost?

Without doing the work of gathering requirements, you only have a wish and a hope that you’re going to get what you want and need. The money you spend and the time you invest with a developer documenting requirements is your insurance to getting what you want with a dependable estimate of what it’s going to cost. Furthermore, just as in the example of the contractor, you have a plan, which if you choose, you can present to other developers for bid. Beware of those who would quote you a price without doing requirements.

-Collapse +Expand Q106. What's the largest project Prestwood has done?
Answer: From a money point of view, the largest project for this company was $500,000. We've been involved with multi-million dollar projects with a team of 15 and a duration of several years. Mike Prestwood headed up a team at The Money Store managing a huge project with a team of just over 75 and a duration of several years. (Although we don't recommend this monolithic approach to development. We recommend a tiger team approach.)
-Collapse +Expand Q107. Prestwood offers many services, standards, and products, what is your focus? What service or product makes most of your money?
Answer: Our focus is custom programming, coding services. Roughly 90% of our income is from building applications for companies and the government.
-Collapse +Expand Q108. I occasionally have a quick question about a project or an application Im working with. It probably would take one of your programmers 5 or 10 minutes to answer. Do I have to enter into a contract to do this?
Answer: Yes, but it’s relatively painless. Our Development Support Account is a simple to use. Please note that a credit card is required for billing purposes, and work is billed on an hourly basis and/or 15 minute increments. By the way, we issue statements on a weekly basis for any work done the previous week. The statements document what work was done and time spent.
-Collapse +Expand Q109. Why do you put so much free technical information on your web site?
Answer: We've always believed in sharing information. One of the benefits of a true consulting firm is the collaboration and interaction the various developers have on specific technical issues. Sometimes developers consider knowledge power and hoard it. We believe by sharing our knowledge with the public, it will encourage our developers to communicate and share more. Also, by placing free technical information, potential clients can see that we are a true consulting firm and not just a body shop/agency.
