Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 5978859
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 22, 20262026-05-22T21:34:38+00:00 2026-05-22T21:34:38+00:00

What is the difference between the new TFileOpenDialog and the old TOpenDialog? In my

  • 0

What is the difference between the new TFileOpenDialog and the old TOpenDialog?
In my computer (Win 7/DXE), when I run the code, the dialogs look the same.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-22T21:34:39+00:00Added an answer on May 22, 2026 at 9:34 pm
    • TOpenDialog wraps the traditional GetOpenFileName. It works on all versions of Windows.
    • TFileOpenDialog wraps the new COM based dialog that was introduced in Vista. It therefore only works on Vista or later. It has more functionality than the older dialogs, most notably the tight integration with search.

    Vista common dialog
    Vista common dialog

    Compatibility common dialog
    Compatibility common dialog

    The GetOpenFileName API will in fact produce the new dialogs in most situations, if called correctly, so you can’t actually tell the difference. That said, historically the VCL’s wrapper for GetOpenFileName was implemented imprecisely and always resulted in the compatibility dialog being shown.

    But what does the new COM dialog have to offer then?

    The new dialog offers a much easier customisation interface at the loss of some generality. If you use the old dialog template based customisation with GetOpenFileName on Vista or later then the dialogs degrade to ugly compatibility versions that lack functionality.

    The other big advantage of the new dialogs is the ability to select unlimited number of files. The old GetOpenFileName interface returned multi-select filenames in a fixed size buffer. This can be a real limitation and in my own code I have had to hack the VCL code to make this buffer larger for when my app runs on XP.

    TOpenDialog will delegate the work to TFileOpenDialog if possible. The test it uses requires all of the following to be true:

    • Running on Windows Vista or later.
    • Dialogs.UseLatestCommonDialogs global boolean variable is true (default is true). This allows you to disable the use of the new COM dialog should you elect to do so.
    • No dialog template is specified.
    • OnIncludeItem, OnClose and OnShow events are all not assigned. Presumably these cannot be fired by TFileOpenDialog.

    Summary

    If you continue to use TOpenDialog then you will reap the benefit of unlimited number of file in multi-select mode. However, if you wish to customise the dialog, and have the new dialogs rather than the ugly compatibilty dialogs, then you need to do the following:

    • On XP use TOpenDialog and the dialog template method.
    • On Vista and later use TFileOpenDialog and implement customisation with IFileDialogCustomize.
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is there any essential difference between this code: ThreadStart starter = new ThreadStart(SomeMethod); starter.Invoke();
What is the difference between old style and new style classes in Python? When
maybe it's dumb but is there a difference between new Something().method(); and Something tmpSomething
Possible Duplicate: new MyObject(); vs new MyObject; What is the difference between new Object
What is the difference between: $db = new SQLiteDatabase('name.db'); and $db = new PDO('sqlite:name.db');
What's the difference between defining a arraylist like this: List list = new LinkedList();
What is the difference between " new " and " malloc " and "
What's the difference between these: This one works: char* pEmpty = new char; *pEmpty
I've observed a difference in behavior between the new library in Visual Studio 11
I'm quite new to Oracle's ADF and wonder what is the difference between ADF

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.