Steve Trefethen
Contact me
About Me View my LinkedIn profile

Powered by discountASP.NET
referal ID: sdtref
Why recommend discountASP.NET?
Need consulting?
Need Consulting?

Spread Thunderbird

Disclaimer

The posts on this weblog are provided AS IS with no warranties, and confer no rights. The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Delphi Desktop States and the HTML/ASP.NET Designer

November 01 2004 9:16PM

This issue has come up on the public Delphi newsgroups and I replied briefly with some additional information and thought that perhaps a better explaination of the issue might be useful/interesting at least to some people.

In C#Builder, Delphi 8.0 and now Delphi 2005 the readme states that the HTML/ASP.NET designer do not support switching of modes while the designer is visible.  Now you might be wondering why?  What's the problem?  Well here is the answer (in what is likely more detail than perhaps anyone wants):

The Galileo IDE (what we call it internally) which is the host for C#Builder, Delphi 8 and now Delphi 2005 supports two modes for the code editor window, docked and undocked.  This, more or less, means either a single window IDE or a floating version (like all previous releases of Delphi).  In order to switch modes a lot of “stuff” has to happen behind the scenes to ensure that the switch works properly.

The main reason the HTML/ASP.NET designer does not support switching modes is that the MSHTML control (which we use as the design surface) has to be destroyed and recreated.  That sounds easy enough but the problem is that you could be in the middle of a document that has not yet been save which is where the complications start.  In order to handle the destroy/recreate of the browser window the content has to be streamed off and then restored after the designer is recreated.  This isn't necessarily a problem either, although you'd lose context information like selection and caret position in the process, but it has to be performed at the right time in order to work correctly.  Currently, the IDE is implemented so that designers don't have to have intimate details of what the rest of the IDE is doing.  They get notifications when various events occur and can respond accordingly however the dock/undock event is not one of the events that is currently propogated to the designers making this a more difficult problem to fix.  In the end, it's simply come down to us focusing more on delivering improvements to the designer itself since we felt that this issue probably won't effect a large number of customers.  Having said that I will say that fixing this problem is on our radar and hopefully something we can get to soon.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Tags: ,

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading



Spam filtering provided by: Spam Counter
333 comments approved, 1472 spam caught since October 28, 2009
Powered by Commentor