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

Seit Ende September liefert Borland eine neue Version von Delphi aus: Delphi 7. Schon vor Monaten wurde sie als Zwischenschritt zu der für das nächste Jahr geplanten (“Dotnet”-)Version dargestellt. Das aktuelle Buch zu Delphi 6 eignet sich mindestens bis dahin als Lektüre zu allen darin vorkommenden Themen, da sich in Delphi 7 hier nichts Wesentliches geändert hat. Die Beispielprogramme von der CD laufen nahezu unverändert. Im Folgenden eine kleine Anleitung, um die wenigen Ausnahmen von dieser Regel zu behandeln.

Installieren der Komponentenbibliothek

Zum Installieren der Komponentenbibliothek können Sie den Menüpunkt Komponente | Packages installieren nicht verwenden, da die Datei auf der CD mit Delphi 6 kompiliert wurde. Stattdessen muss die auf Seite 804 beschriebene alternative Vorgehensweise gewählt werden: Laden Sie den Package-Quelltext AWD6EW.DPK in die IDE und kompilieren Sie es. Dabei meldet der Compiler einen einzelnen Fehler in StateSaver.pas, den Sie wie folgt beheben können:

// alter Quelltext:
FUseHomeDirectory: Boolean default True;
...
property UseHomeDirectory: Boolean read FUseHomeDirectory
                                   write FUseHomeDirectory;

Korrektur: Löschen Sie das default True oder verschieben Sie es ein paar Zeilen nach unten wie folgt:

// neuer Quelltext:
FUseHomeDirectory: Boolean;
...
property UseHomeDirectory: Boolean read FUseHomeDirectory
                       write FUseHomeDirectory default True;

Der ursprüngliche Code dürfte übrigens auch schon unter Delphi 6 falsch gewesen sein, nur hat der Compiler es nicht “gemerkt”. ;-)

Anschließend übersetzen Sie das Package neu (Aktualisieren im Kontext-Menü des Package-Editors) und installieren es über den entsprechenden Schalter. Als Letztes muss nun noch (wie schon unter Delphi 6) unter Tools|Umgebungsoptionen|Bibliothek der Pfad des Complib-Verzeichnisses, in dem sich das Komponenten-Package befindet, hinzugefügt werden (siehe Readme.rtf auf der CD).

Beispielprogramme mit TSQLClientDataSet oder TBDEClientDataSet

Die Beispielprogramme gdbBrowser, IBFileDB, TerminVerwaltung, BDETerminViewer, SOAP\GetNextDateService, WebBroker\DelphiWebXP und WebSnap\* verwenden die beiden  T...ClientDataSet-Komponenten, die Borland jedoch in Delphi 7 ausgemustert hat. Die Ausmusterung bezieht sich allerdings nicht auf die Funktionlität der Komponenten, sondern lediglich auf die Aufteilung und die Anordnung dieser Funktionalität in der Klassenhierarchie. In Delphi 7 ersetzt die neue Komponente TSimpleDataSet (Palettenseite: dbExpress) die bisherigen Komponenten bzw. stellt eine gemeinsame Schnittstelle zur Verfügung, mit der die von den bisherigen Komponenten bekannten Dienste genutzt werden können. Diese Schnittstelle ist der bekannten Schnittstellen sehr ähnlich.

Dem Nutzen der Beispielprogramme ist es nicht abträglich, wenn darin die alten Komponenten weiter verwendet werden. Sie sollten nur wissen, dass Sie für eigene, neue Anwendungen TSimpleDataSet vorziehen sollten, welche analog zu den Komponenten in den Beispielprogrammen verwendet wird.

Die alten Komponenten TSQLClientDataSet/TBDEClientDataSet werden in Delphi 7 weiterhin mitgeliefert, jedoch nicht automatisch in der Komponentenpalette installiert. Um mit den Beispielprogrammen arbeiten zu können, müssen Sie sie manuell in der Komponentenpalette installieren, was etwa wie folgt geschehen kann:

  • Wählen Sie, ausgehend vom Hauptmenü: Komponente | Komponente installieren -> Name der Unit -> Durchsuchen:
  • Gehen Sie in das Verzeichnis ...\Delphi7\Demos\DB\SQLClientDataSet.
  • Wählen Sie die 3 ...Reg-Dateien aus: DBLReg.pas, DBLRegB.pas, DBLRegS.pas.
  • Bestätigen Sie die Dialoge, so dass Delphi dcluser.dpk neu kompiliert und installiert. Danach können Sie die genannten Beispielprojekte laden.

Update auf TSimpleDataSet (optional für bestehende Programme)

Im Folgenden noch eine kurze Anleitung, wie Sie ein bestehendes Programm elegant von TSQLClientDataSet auf TSimpleDataSet umstellen können, am Beispiel des Programms gdbBrowser:

  1. Öffnen Sie das Formular gdbBrowser.dfm, welches das SQLClientDataSet enhält, nicht normal in der IDE (genau gesagt kommt es darauf an, dass Sie es nicht in der IDE neu speichern, denn die IDE versucht, die “falsche” Komponente zu korrigieren, was wir nun selbst tun werden), sondern wählen Sie Datei Öffnen und selektieren Sie die DFM-Datei, so dass dieses direkt im Textmodus in den Editor geladen wird.
  2. Lassen Sie den Editor per Textsuche die TSQLClientDataSet-Komponente finden.
  3. Ändern Sie den Klassennamen in TSimpleDataSet.
  4. Ändern Sie im eingerückten Block unterhalb der Zeile, in der der Klassenname auftritt, den Property-Namen DBConnection in Connection.
  5. Löschen Sie die Zeile mit dem Options-Property, welches in TSimpleDataSet nicht mehr existiert.
  6. (Wenn weitere SQL/BDEClientDataSet-Komponenten vorhanden wären, müssen die letzten drei Schritte nun wiederholt werden; wenn in der Formulardatei auch noch weitere geänderte Eigenschaften wie CommandText und CommandType verwendet werden, müssen diese auch noch angepasst werden; im aktuellen Beispiel werden diese Änderungen erst in Schritt 10 erforderlich).
  7. Schließen/Speichern Sie die DFM-Datei.
  8. Nun kann das Formular in der IDE angezeigt werden, laden Sie also das Projekt und kompilieren Sie es. Dabei kommt es im Beispiel von gdbBrowser zu folgenden Zwischenfällen:
  9. Die Typänderung der Komponente hat noch ein kleines Nachspiel, weil diese in der Object-Pascal-Klasse des Formulars nun falsch deklariert ist: Die IDE bietet jedoch automatisch die Änderung der Deklaration an, Sie brauchen dies dann nur zu bestätigen.
  10. Im Quelltext sind Änderungen für die Properties CommandType und CommandText erforderlich, die in TSimpleDataSet in das Unter-Property DataSet verschoben wurden. Ersetzen Sie also an den vom Compiler bemängelten Stellen CommandType durch DataSet.CommandType und CommandText durch DataSet.CommandText.
  11. Funktionstest: gdbBrowser funktioniert weiterhin, beispielsweise mit der Interbase-Beispieldatenbank ...\Interbase\Examples\Database\Employee.gdb.

Anhang A: IDE-Experten

Die Experten-Packages ToolsApiExperten und IteaExperten müssen unter Delphi 7 neu kompiliert werden, was kein Problem ist, da sie auf der CD vollständig im Quelltext vorliegen. Öffnen Sie einfach die entsprechende dpk-Datei und betätigen Sie den Schalter Installieren. Im Falle des Packages IteaExperten meldet der Compiler zwei Mal einen Fehler, den Sie beheben können, indem Sie in der nahestehenden Compiler-Bedingung der Art {$ifdef VER140} das “140” in “150” ändern. (Hinweis: Das dritte Package - VierExperten - ist nicht für Delphi 7 gedacht, es enthält lediglich die Bestandteile von ToolsApiExperten und IteaExperten in einer Delphi-5-Version.)

 

Diese Seite wurde am 03/12/13 10:25 erzeugt.