www.ewlab.de
Delphi 2006
Delphi 2005
Kylix
Delphi 6
Delphi 5
Delphi 4
Impressum
Delphi 6

Das Buch in Stichworten

  • 1300 Seiten Entwicklung von Anwendungen und Komponenten
  • Grundlagen von COM, XML, Datenbanken, WebBroker, SOAP u. v. a.
  • geeignet für alle Delphi-Ausgaben und -Versionen, inklusive Delphi 7
  • erschienen Mitte November 2001

Delphi6Prelim

(größeres Bild)

Zum Addison-Wesley-Katalog

Aus dem Inhalt:

  • Aktionsmanagement, frei geformte Fensterrahmen, Alpha-Blending
  • ListViews und TreeViews, selbstgezeichnete Komponenten
  • Docking von Toolbars und Hilfsfenstern
  • Formularvererbung und Frames
  • Threads und Synchronisationsobjekte
  • XML und DOM-Programmierung
  • Dokument-View-Konzept, MDI
  • Datenbanken mit BDE und dbExpress, MyBase-Dateien, SQL
  • COM-Programmierung, Shell-Erweiterungen, Internet Explorer
  • Web-Server-Anwendungen, SOAP

(Ein vollständiges Inhaltsverzeichnis finden Sie hier.)

Umsteiger von anderen Programmierumgebungen finden zu Beginn eine praxisorientierte, hinter die Kulissen blickende Einführung in die Delphi-IDE sowie eine Zusammenfassung der Sprachmerkmale von Object Pascal.

Anschließend widmet sich das Buch intensiv den Grundlagen der VCL und ihrer Komponenten und schreitet dabei von der Erstellung einfacher dialogorientierter Anwendungen bis zur Entwicklung einer komplexen dokumentbasierten Beispielanwendung, dem TreeDesigner 3.5, mit dem Sie Klassenhierarchien und die Struktur von XML-Dokumenten flexibel anzeigen, editieren und ausdrucken können.

Spezielle Kapitel befassen sich mit der Komponentenentwicklung, dem COM, der Datenbank- und der Web-Server-Programmierung. Bei der Behandlung spezieller Technologien wie XML und WebBroker wurde Wert auf eine fundierte Einführung, auf die Erläuterung von Hintergründen und Zusammenhängen sowie auf sinnvolle Beispiele gelegt.

Weitere Informationen

Einige Neuerungen gegenüber dem Delphi-5-Buch, die speziell den TreeDesigner betreffen, sind auf der Seite zum TreeDesigner 3.5 für das Kylix-Buch zu finden. Der TreeDesigner 3.5 läuft unter Linux und Windows, wobei er unter Windows einige nur in Delphi verfügbare Zusatzfunktionen wie automatisches VCL-Docking und COM-Automation nutzt. Die dem Delphi-6-Buch beiliegende Version des TreeDesigners heißt 3.5W und ist gegenüber der Version des Kylix-Buchs für Delphi 6 überarbeitet; sie enthält auch alle bis zum 17.10.2001 auf der Kylix-Buchseite genannten Ergänzungen und Fehlerkorrekturen. Auch die Version 3.5W lässt sich übrigens unter Kylix übersetzen, denn die für Kylix benötigten speziellen Formulardateien werden auf der CD mitgeliefert.

Korrekturen und Ergänzungen

Seite 497: In der Beschriftung der Abbildung 4.2 muß es statt “unterste Reihe” “zweitunterste Reihe” heißen.

Seite 623, Ergänzung zum Abschnitt Die Komponente TMenuToolbar: Um die Tastenkürzel des als Toolbar dargestellten Menüs wirksam zu erhalten, können Sie ein OnShortCut-Ereignis bearbeiten wie unten am Beispiel des TreeDesigners beschrieben.

Seite 696: Der letzte Satz im Absatz Gerätekoordinaten: “Falls Sie keine der in Kapitel 5.6.2 besprochenen Funktionen verwenden, um das Koordinatensystem zu verändern, arbeiten Sie nur mit Gerätekoordinaten und benötigen LPtoDP nicht.” ist nicht ganz korrekt: Wenn Sie eine Zeichenfläche verwenden, deren linke obere Ecke nicht mit der linken oberen Ecke des Fensters übereinstimmt, werden in dieser Paintbox bereits logische Koordinaten verwendet, die zuerst mit LPtoDP in Gerätekoordinaten umgewandelt werden müssen, z.B.:

var 
  R: TRect;
begin
  R := Rect(...gewünschte logische Koordinaten relativ zur linken
           oberen Ecke der Zeichenfläche...)
  LPToDP(Paintbox1.Canvas.Handle, R, 2);
  // R kann jetzt an eine Region-Funktion wie etwa CreateEllipticRegion
  // übergeben werden (wie im Buch gezeigt).

ab Seite 904, gültig für das gesamte Kapitel 7: Wenn Sie Delphi 7 verwenden, sollten Sie gedanklich den Namen TSQLClientDataSet immer mit TSimpleDataSet ersetzen. Borland hat die nach wie vor aktuelle Funktionalität von TSQLClientDataSet neu strukturiert und bietet sie nun zusammen mit der Funktionalität von TBDEClientDataSet in TSimpleDataSet an. Dadurch ändern sich einige Property-Namen:

bisher in TSQLClientDataSet

ab Delphi 7 in TSimpleDataSet

DBConnection

Connection

CommandType

Dataset.CommandType

CommandText

Dataset.CommandText

ConnectionName

Dataset.ConnectionName

Options

(nicht mehr vorhanden)

 

 

 

Dies wirkt sich natürlich auch auf die Beispielprogramme des Buchs aus, die am Besten mit den alten Komponenten weiterverwendet werden sollten. Wie dies in Delphi 7 geht und wie Sie bei Bedarf ein bestehendes Programm leicht von TSQLClientDataSet auf TSimpleDataSet umstellen können, lesen Sie hier.

Korrekturen zur Komponentenbibliothek

Seiten 459, 473: Die Klasse THistoryList kann in Verbindung mit einer THistoryCombo-Komponente Probleme mit doppelten Einträgen verursachen, eine Korrektur finden Sie hier.

Korrektur zum TreeDesigner

Wirkungslose Tastenkürzel im Hauptmenü: Die in den Menüs von Haupt- und Dokumentfenster genannten Tastenkürzel (z.B. F3 zum Laden einer Datei) können zur Laufzeit nicht verwendet werden, wenn die Menüs nicht in ihrer Originalform, sondern in einer (Menu-)Toolbar dargestellt werden. Dies liegt daran, daß die VCL zur Laufzeit bei einer Tastatureingabe zwar das MainMenu eines Formulars nach einem Tastenkürzel durchsucht, das der gedrückten Taste entspricht, nicht aber die mit einer Toolbar verknüpften Menüs. Man kann dies jedoch manuell leicht nachholen, denn die VCL stellt eine Funktion TMenu.IsShortCut zur Verfügung und außerdem ein Formular-Ereignis OnShortCut, welches bei jeder Tastatureingabe auftritt. Im TreeDesigner sind die jeweils aktiven Menüs aus dem Hauptformular über MenuToolbar.MainMenu und MenuToolbar.ChildMenu abfragbar; die folgende OnShortCut-Methode behebt daher das Problem:

// Methode für das Ereignis "OnShortCut" des Hauptformulars "MainForm":

procedure TMainForm.FormShortCut(var Msg: TWMKey; var Handled: boolean);
begin
   {$B+} // Wenn im Folgenden der erste IsShortCut-Aufruf
               // True ergibt, den zweiten Aufruf nicht durchführen
   Handled := MenuToolbar.MainMenu.IsShortCut(Msg) or
   MenuToolbar.ChildMenu.IsShortCut(Msg);
end;

Vielen Dank für den Fehlerhinweis an Andreas Keppler.

Korrektur zur CD-ROM, Beispielprogramm IBFileDB

Auf der dem Buch beiliegenden CD fehlen im Verzeichnis Kapitel7\FileDB leider die SQL-Dateien, mit denen die Dateidatenbank programmgesteuert angelegt werden kann.

Wenn Sie die Datei für Interbase 6 verwenden möchten, müssen Sie außerdem in FileDBBrowserForm.pas, Methode TMainForm.CreateDBClick die Nennung des Namens CreateFileDB.sql auf CreateFileDB6.sql ändern. Eventuell ändern Sie dann noch im Formular FileDBOptions den Inhalt des Editierfeldes so, dass er mit dem Pfad Ihrer Interbase-Installation übereinstimmt, und dem erfolgreichen Start des Programms sollte nichts mehr im Wege stehen (die anfänglich von der IDE angezeigte “Exception” ist eingeplant, lassen Sie das Programm weiter laufen, und es fragt sie, ob es die fehlende Datenbank neu anlegen soll; sofern der Pfad zu Interbase stimmt und die Interbase-Version korrekt ist, läuft das Programm).

Weitere Hinweise zur CD-ROM

Die wenigen für Delphi 7 notwendigen Anpassungen sind hier beschrieben. Die ergänzenden Informationen zu verschiedenen Beispielprogrammen fehlen in der Datei readme.txt, sie sind nur in readme.rtf zu finden! [Dies wird zwar am Anfang von readme.txt deutlich gesagt, aber da der Autor die Hinweise vor einer Weile selbst vergeblich gesucht hat, möglicherweise nicht deutlich genug. ;-) ]


[www.ewlab.de] [Delphi 2006] [Delphi 2005] [Kylix] [Delphi 6] [Delphi 5] [Delphi 4] [Impressum]