Posts Tagged “IntraWeb”

Vom 23. bis 27. November 2009 präsentiert die Entwickler Akademie zusammen mit dem Entwickler Magazin das nächste Delphi Code Camp in München. Sechs der bekanntesten deutschsprachigen Delphi-Experten Olaf Monien, Bernd Ua, Daniel Magin, Holger Flick, Thomas Pfister und Daniel Wischnewski werden in zehn eintägigen Power Workshops, tiefgehendes Know-how anhand von vielen Praxisbeispielen vermitteln. Codebeispiele können von Teilnehmern hands-on am eigenen Laptop mitentwickelt werden.

Seien Sie gespannt auf 5 Tage vollgepackt mit wertvollem Wissen und  Informationen über neueste technologische Entwicklungen in der Delphi-Welt – beste Networking-Möglichkeiten inklusive!

Natürlich sind auch wir von den Delphi-Experts mit einigen Workshops in der bekannt hohen Qualität vertreten. Inhaltliche Fragen zu den Veranstaltungen von mir, Daniel und Holger können gerne hier gestellt werden.

Hier alle Workshops im Überblick:

Alle Infos auf:  http://entwickler-akademie.de/codecamps/delphi-cc

Comments Comments

At EKON 13, last week in Darmstadt, Germany, my partner Daniel Magin held a session about how to debug with Delphi. One of the things he demonstrated, was the usage of Memory Managers for debugging purposes.

Since Delphi 2006 there is a new Memory Manager in Delphi: FastMM4 – which is an Open Source project. That one has many advantages over the old BorlandMM. Especially for server-type applications (such as VCL for the Web / IntraWeb applications) FastMM4 is a must – many problems in IntraWeb applications have their source in the old MemoryManager, which is simlpy not designed to handle large numbers of objects being created and freed. I.e. you should download FastMM4 it if you are still on D2005 or older.

One thing that FastMM4 can help with is detecting Memory Leaks. This has been discussed on many blogs already (look for ReportMemoryLeaksOnShutdown := true;), this is really helpful and can even be configured.

Detecting Memleaks during Debugging is one important thing, but locating code that overwrites memory, or accesses objects that have already been freed is also very important. Consider the following code:

program Project20;

{$APPTYPE CONSOLE}

uses
  //Decomment to find memory errors
  //SafeMMInstall,
  SysUtils,
  Classes;

var
  sl: TSTringList;
  i: Integer;
  j: Integer;
begin
  ReportMemoryLeaksOnShutdown := true;
  try
    sl := TStringList.create;
    i := sl.Count;
    //Free Stringlist by purpose
    sl.Free;
    //...

    //Somewhen later - by accident - access a reference to a freed Stringlist
    j := sl.Count;

    //just do something ...
    if j = i then
      Writeln('j=i')
    else
      Writeln('j<>i');
  except
    on e: Exception do
      WriteLn(e.Message);
  end;
  ReadLn;
end.

It accesses a stringlist’s count property after it has already been freed. In complex Class hierarchies this is a situation that may easily happen.

Memleak detection is turned on, but with D2009 this code will run through just fine. There are possibilities to download  FastMM’s full version and tweak it’s config file to detect this situation.

An other option is to use an other Memory Manager, as Daniel pointed out: SafeMM, which is an Open Source project, hosted at Embarcadero’s CodeCentral. Just put “SafeMMInstall” as very first item into your projects uses clause and it will raise exceptions, every time you do something which would corrupt memory. Now recompile your project and let it run – you “error-free” application might unveil quite some errors now :-)

Use SafeMM only for debugging purposes – it’s memory footprint is about 4x the normal one.

Comments Comments

The just announced DelphiLive! conference in San Jose will have two tutorial/workshop days.  I will offer a full day workshop on IntraWeb/VCL for the Web.

To register, you need to sign up for one of the “tutorial days” at DelphiLive! Registration The exact date (Wed or Sat) will be announced soon. (You may leave a note with your preference below)

 

VCL for the Web / IntraWeb Workshop

This Power Workshop starts with providing an overview of the available Web development tools for Delphi/C++ Builder. During the introduction the different approaches of WebSnap / WebBroker (Win32), ASP.NET (.NET) and IntraWeb will be explained. The differences between page- and application-oriented Web development will be discussed to finally introduce the Application Mode of IntraWeb.

The goal of this session is to learn the base skills to develop a complex Web application. Both strategies, starting from scratch or porting an existing Windows desktop application, will be taught.

Agenda

Part I

  • The first Application
  • Available components
  • Deployment / Server Installation

Part II

  • Session Handling
  • Multi-Threading
  • Multiple Form Applications

Part III

  • RIA – Rich Internet Applications
  • Ajax – Asynchrones Web
  • JavaScript
  • Dojo

Part IV

  • Data Access
  • Templates and Visual Form Inheritance
  • (Reporting, Scaleability, Security)

Requirements

Basic skills in Delphi or C++ Builder are required. Examples are shown in primarily in Delphi, but depending on the attendee structure C++ samples can also be shown. Please bring your laptop. Delphi 5 or better should be pre-installed. IntraWeb can be installed with the help of the trainer.

Comments Comments

Im Rahmen des kommenden Delphi CodeCamps werde ich einen Workshop zur Webentwicklung mit Delphi und  IntraWeb (VCL for the Web) anbieten.

Sie können einen einzelnen Tag buchen oder aber natürlich auch das ganze CodeCamp.

 

Entwicklung von Webanwendungen mit der VCL für das Web / IntraWeb

Dieser Intensiv-Workshop vermittelt den Teilnehmern zunächst einen Überblick über die verfügbaren Webanwendungs- Technologien in Delphi / C++ Builder. Dabei werden insbesondere WebSnap / WebBroker (Win32) und ASP.NET (.NET) gegenüber der VCL für das Web (IntraWeb) abgegrenzt. Es werden die Unterschiede zwischen Seiten- und Anwendungsorientierter Entwicklung dargestellt, um dann auf die Anwendungsorientierte Entwicklung mit der VCL für das Web zu fokussieren.

Im Vordergrund dieser Veranstaltung steht das Erlernen der notwendigen Kenntnisse, um eine komplexe Anwendung mit einem Web-Interface auszustatten. Dies kann entweder eine Neuentwicklung sein oder aber auch das Umstellen bzw. Erweitern einer bereits existierenden traditionellen Anwendung.

Comments Comments

If creating IW controls dynamically, then always be sure to explicitly set their Name. They won’t always get a default name – and empty names may lead to strange behaviors.

If you create IWRadioButtons dynamically, then also be careful that you always set their “Name” and “Value” properties to the same value – unless you know what you are doing. Value is important for correct control and group recognition during postbacks. Sounds odd but has to do with the way how the underlying INPUT HTML controls are working.

Unfortunately, at least in IntraWeb 9.0, IWRadioButtons synchronize Name and Value at design-time only (no idea why – I cannot remember having touched that during my time at Atozed). The attached IWComRadioButton source file fixes that, so that you only have to care about “Name”.

Note: That file is for IntraWeb 9.0. It may work with older or newer versions, but I did not test that. This is not an official file version, but just a personal contribution to the freely available visual control source files of IntraWeb. Use modified sources at your own risk – the guys at Atozed can support their own versions only.

Comments Comments

This article is an announcement for a Delphi Code Camp in Germany. Course language will be German, thus this article is available in German only.

Diesen Monat (vom 22. bis 25. September) wird die Entwicklerakademie wieder ein sogenanntes “Delphi Code Camp” in Mainz ausrichten. Es werden mehrere Ganztages-Workshops zu verschiedenen Delphi Themen angeboten. So werde ich unter anderem auch einen Workshop zum Thema Webentwicklung mit Delphi und IntraWeb/VCL for the Web leiten.

Read the rest of this entry »

Comments Comments

Apparently many developers of Web sites and especially Web applications (IntraWeb, ASP.NET, PHP etc) are still not aware of existing tools to trace/debug the communication flow between Web browsers and Web server.

Often, certain errors such as missing images, non working JS files etc, pop up (i.e. customer calls and says “your Web app is totally broken”), and its very hard to determine whats happening. You could now add logging capabilities to your Web application and try to find out whats happening. That’s not a bad idea, but often it would help more to see what’s really sent over the wire, which resources fail to load etc.

Read the rest of this entry »

Comments Comments

To disable the “loading animation”  which has been introduced with IntraWeb 9.0, and which shows up when the user clicked a button and is waiting for the page to re-load you usually just need to set an option in your application’s ServerController. Read the rest of this entry »

Comments Comments

Times are changing. In July CodeGear was finally sold from Borland to Embarcadero. From Agust 1st 2008 I will no longer represent Atozed Software. Read the rest of this entry »

Comments Comments

Welcome to my new blog location, where I’m now using WordPress as blogging-engine.  As far as I can tell WP works really nice. Fast, lots of available plugins, easy integration with feed aggregators. Read the rest of this entry »

Comments Comments

CodeGear Technology Partner