On 18/04/12 20:09, Martin wrote:
On 18/04/2012 17:53, patspiper wrote:
On 18/04/12 17:39, Martin wrote:


But this is not a bug.
And Delphi docs, IMHO are not making a 100% clear statement about this.
It is a bug considering that both Delphi and Lazarus docs are clear about it: ShowModal does not return until the form is closed.

That's not the point

The point is: Close <> Destroy
In fact, with modal active close does hide the form (and sets modal result)
Closing a modal form hides it indeed, sets ModalResult, and makes ShowModal exit. Hiding is just one step of modal form closing.

In anyway it does not say "until the method close is called".
It says "form is closed" never mind how it is closed
Correct

   "closing a form" is not the same as "calling close()"

"calling close()" is only one of many ways to "close a form".
e.g during Modal, you can set ModalResult.
OK

Depending on close the property CloseAction = caHide, a call to Close(), does in the end actually call Hide (or set Visible=False). The call to Close can (optional) destroy the form. But the actual closing is done by making it invisible.

So who says, that calling Hide() is not a way of closing the form?
Try applying the same logic with CloseAction = caNone ;)

Furthermore, Hide() does not trigger the OnCloseQuery and OnClose events.
It does the same thing. (the 2 calls have different additional side effects, but that is a different story)
<joking mode on> Pulling off the computer's power plug is yet another way of closing a form with different side effects<joking mode off>

Finally, the force (Delphi) is not on your side :D

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

Reply via email to