Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/FireMonkey/Dialogs    [ Add a report in this area ]  
Report #:  104645   Status: Open
[MacOS] Save Dialog Options Ignored MAC OS X
Project:  Delphi Build #:  16.0.4429.46931
Version:    16.4 Submitted By:   Linden ROTH
Report Type:  Basic functionality failure Date Reported:  4/5/2012 1:15:11 AM
Severity:    Commonly encountered problem Last Updated: 4/12/2012 7:50:38 AM
Platform:    All Mac platforms Internal Tracking #:   27249
Resolution: None (Resolution Comments) Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: 5
Description
[MacOS]
When using a savedialog, the options are never processed to if overwriting a file you are prompted with  "File already exists.
Do you want to replace it?..." from the os.

On Windows, you are not prompted unless OFN_OVERWRITEPROMPT is set.
Steps to Reproduce:
With a SaveDialog, choose an existing file when saving

drop  a button and a savedialog on a form
leave as default test in winXX ver osX
run twice in both OSs to see the difference
----------------------------------
unit u104645;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs;

type
  TForm6 = class(TForm)
    Button1: TButton;
    SaveDialog1: TSaveDialog;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form6: TForm6;

implementation

{$R *.fmx}

procedure TForm6.Button1Click(Sender: TObject);
var
  s : string;
begin
  with savedialog1 do
    begin
      filename := 't104645.txt';
      if Execute then
        begin
          with TStringStream.create do
            begin
              s := 'Hello world';
              write( s[ 1 ], length( s ) * 2 );
              SaveToFile( filename );
            end;
          showmessage( 'saved' )
        end
      else
        showmessage( 'Didn''t save' )
    end;
end;
----------------------------------
Workarounds
None
Attachment
None
Comments

Tomohiro Takahashi at 4/5/2012 8:05:27 PM -
Could you please attach sample project to reproduce your issue?

Linden ROTH at 4/10/2012 8:18:32 PM -
done

Linden ROTH at 4/9/2012 9:58:50 PM -
//drop  a button and a savedialog on a form ... leave as default test in winXX ver osX
unit u104645;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs;

type
  TForm6 = class(TForm)
    Button1: TButton;
    SaveDialog1: TSaveDialog;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form6: TForm6;

implementation

{$R *.fmx}

procedure TForm6.Button1Click(Sender: TObject);
var
  s : string;
begin
  with savedialog1 do
    begin
      filename := 't104645.txt';
      if Execute then
        begin
          with TStringStream.create do
            begin
              s := 'Hello world';
              write( s[ 1 ], length( s ) * 2 );
              SaveToFile( filename );
            end;
          showmessage( 'saved' )
        end
      else
        showmessage( 'Didn''t save' )
    end;
end;

Linden ROTH at 4/10/2012 8:19:37 PM -
run twice in both OSs to see the difference

Tomohiro Takahashi at 4/12/2012 7:02:55 PM -
This report was opened with valid Internal Tracking Number.
Thanks.

Linden ROTH at 4/29/2012 9:15:15 PM -
Also effects the fileopen dialog (with extension mask)

Henry van de Steeg at 1/23/2013 1:03:14 AM -
When i select an existing file in the savedialog in XE3 update 1, the dialog hangs the entire application.

Tomohiro Takahashi at 1/23/2013 4:39:48 AM -
Henry-san
Is your issue same as QC#109132 ?
and, what version of MacOS and system locale do you use, Lion(German) etc...?

If possible, could you please try this workaround?
--------
In Project Options, choose Version Info and locate the item CFBundleAllowMixedLocalizations in the table.
Change the value from YES to NO.
Rebuild and re-deploy.
--------

Henry van de Steeg at 1/23/2013 7:22:38 AM -
This workaround works, (dutch version osx 10.8.2), a conformation dialog now appears, and works. the language of the dialog is now english, not dutch.

Server Response from: ETNACODE01