Monthly Archives: September 2004

Next Up: Diamondback and CSS Code Completion

In Delphi 8 we didn’t
really provide any support for developing CSS/stylesheets which any web
developer knows are an important part of web development.  Well, fortunately Diamondback (the
next release of Delphi) supports CSS syntax highlighting as well as CSS code
completion making it easier to build stylesheets where you don’t have to
constantly refer to reference material in order to create a new style.  I highly
recommend familiarizing yourself with CSS so that you can leverage the many
advantages it provides.  Here is a great site that
has lots of information to help you learn CSS.

Another issue in D8 was that the designer wouldn’t always resolve relative
file locations for things like images and stylesheets correctly which has been
fixed in Diamondback.

Here are a few pointers regarding how relative paths are resolved in the
Diamondback IDE:

  • If the file is part of an ASP.NET project then it’s references will be
    resolved relative to http://localhost allowing
    for use of virtual roots to refer to global image and stylesheet locations.
  • If the file is not part of a project (like a standalone .htm file) then any
    relative URLs are resolved relative to the directory path of the .htm

Basically if the file is part of an ASP.NET project then any relative URL
references in the file are resolved through http://localhost rather than the file system.

ASP.NET Deployment and Diamondback (Delphi 2005)

When it comes to web applications deployment is an important part of the application development cycle.  Typically, developers will work on a local version of a web application and once they have the application working/fixed they’ll deploy it to a production server.  Well, in Diamondback (the next release of Delphi) that part of the application development process is going to be a whole lot easier.  We’ve developed a web deployment feature that gives the developer a means of quickly and easily deploying ASP.NET applications.  There are two built-in transports, FTP and file copy, which allow the developer to easily move an application from their development machine to either a production machine or even another location on their development machine. 

Additionally, as application development proceeds the Deployment Manager displays a list of the files that need to be redeployed as a result of changes made by the developer.  Since deployment targets are simply added to an ASP.NET project it’s also easy to deploy a single application to multiple targets.  The Deployment Manager comes preconfigured to for ASP.NET applications making it easy to create a new deployment that will typically include all of the necessary files for your project without any additional intervention although the Deployment Manager is highly flexible and allows for addtional files to be added by the developer as necessary.  The Deployment Manager is a great example of a product area where customers gave us feedback indicating that this was a crucial area of ASP.NET application development where they needed a solution which we took seriously and Diamondback will deliver a solution.

Debugging ASP.NET Applications on IIS and Diamondback

Since I work on Diamondback (the
next release of Delphi) and
ASP.NET specifically I thought I’d begin to mention some of the ASP.NET
improvements that have been made now that we’ve “given out the bits” at Borcon. 
One area that can be problematic in D8 is debugging ASP.NET applications on
IIS.  While it’s possible to use Cassini as an
alternative development server, using IIS frequently encountered problems.  In
D8, we made our best attempt given the time we had and the fact that MS uses an
undocumented debugging mechanism for ASP.NET applications in VS.NET. 
Regardless, now that we’ve had the time to research the issues more our debugger
gurus have come up with a mechanism that works much better and enables much more
consistent debugging of ASP.NET applications running under IIS from Diamondback.

ActionBands and DiamondBack

This week while at BorCon I was asked at the meet the team if ActionBands would be in Diamondback (the next release of Delphi) and unfortunately I wasn’t able to immediately answer the question.  I’ve since decided it would be a good idea to follow up here and reply that yes, ActionBands will be supported in both VCL and VCL.NET.  The reason I wasn’t sure is that there has been a lot of work done on both the VCL and VCL.NET form designers and since I’ve been working on ASP.NET related features for almost two years I wasn’t aware of the progress that had been made on the form designers and unsure if ActionBands were supported.  In any case, the answer is yes.

About bugs

After a recent thread in borland.delphi.public.non-technical regarding bugs
that are logged to QualityCentral I started a blog post to explain some of the
issues from the perspective of an “insider”.  However, it appears that I won’t
have to actually finish that post since Allen Bauer has basically done just
that here.  I
agree with what he’s written 100%.  Thanks Allen, great post.

More multi-column CSS layout

Since this
seems to have been pretty popular I thought I’d build on it a bit and
provide a few more examples. In my previous post I created an HTML page that had
the stylesheet information embedded in a STYLE tag within the page header which
is actually a bad idea but it helped keep the example really simple.  In these
examples I’ve broken out the stylesheet information into individual .css files
and will illustrate a few different layouts using the exact same HTML used in my
previous example (sans the STYLE tag of course).

I’ve created both left
and right
column layouts using the exact same HTML that I used from my original example. 
The difference with these pages is that I’ve hidden the column that I don’t want
on the page while the DIV for the column remains in the HTML and the CSS
dictates that it’s not displayed nor does it consume space.  Additionally, I’ve
made the left/right column fixed width which is probably more consistent with a
typical website layout.

[Update: Feb 14, 2007] If you’re reading this on this site is based on the CSS three column layout discussed above.