Dear all,
also removing the out of memory problem the savedialog is not shown.
Someone can give me a feedback in order to understand the problem? What can I check in order to understand why the savedialog is not shown?
It is a big issue for me since this affect one of our commercial product.

Let me know,
Andrea

Il 03/07/2012 10:28, Andrea Mauri ha scritto:
Il 02/07/2012 15:56, Martin ha scritto:

I don't know anything about the issue itself, but have you tried setting
a watchpoint (context menu in watches list). (Scope = global / Acess
write)

Set the watchpoint after TCommonDialog.DoExecute has initialized the
value. The watchpoint should stop execution if the value is modified

I tried to evaluate when FUserChoice is assigned 2 (mrCancel).

function TCommonDialog.DoExecute : boolean;
var
   CanClose: boolean;
begin
   FCanCloseCalled := False;
   if Assigned(FOnShow) then
     FOnShow(Self);

--> before this is FUserChoice=0 (mrNone)

   TWSCommonDialogClass(WidgetSetClass).ShowModal(Self);

--> after this is  FUserChoice=2 (mrCancel)

I look deeper and I found that in:

class procedure TWin32WSOpenDialog.VistaDialogShowModal(ADialog:
IFileDialog; const AOpenDialog: TOpenDialog);
var
   FileDialogEvents: IFileDialogEvents;
   Cookie: DWord;
   CanClose: Boolean;
begin
   FileDialogEvents := TFileDialogEvents.Create(AOpenDialog);
   ADialog.Advise(FileDialogEvents, @Cookie);
   try
     AOpenDialog.DoShow;
     repeat
       ADialog.Show(GetParentWnd);

--> I set a breakpoint on the line below, the dialog is not shown,
UserChoice in the following 'if' line is  mrNone, so different from mrOk
and then UserChoice is set to mrCancel

       if (AOpenDialog.UserChoice <> mrOk) then
       begin
         CanClose := True;
         AOpenDialog.DoCanClose(CanClose);
         AOpenDialog.UserChoice := mrCancel;
       end
       else
         CanClose := True;
     until CanClose;
   finally
     ADialog.unadvise(Cookie);
     FileDialogEvents := nil;
   end;
end;




--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to