Announcement

Collapse
No announcement yet.

Delphi 4 und InterBase 6

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Delphi 4 und InterBase 6

    Hallo,

    Ich will in einer Tabelle eine Zeiterfassung realisieren. Ich hab IB 6 installiert. Aber wenn ich eine Tabelle anlegen möchte zeigt mir Delphi (4 Professional) nur Version 4.0 an. Deshalb kann ich wahrscheinlich auch die Feldtypen Time und Timestamp nicht finden. Woran kann das liegen und was muss ich einstellen, dass Delphi die neue Version 6 erkennt ?

    Gruß Elke

  • #2
    Die BDE-Version, die mit Delphi 4.0 kommt, unterstützt den Dialect 3 von InterBase 6.0 nicht, d.h. Du kannst die neuen Sprachfeatures (z.B. TIMESTAMP, 64-Bit-Integers, "quoted" Names) nicht nutzen. Du kannst aber den Dialekt 1 verwenden, der sich fast gleich verhält wie InterBase 5.0. Da gibt es nur den Datentyp DATE.

    Wie meinst Du mit: Delphi zeigt nur V4.0 an? Wo wird das angezeigt?

    Gruss
    K

    Comment


    • #3
      Hallo Karsten,

      ich hab den BDE-Administrator mittlerweile so weit, dass er die Version 6.0 anzeigt (Zumindest auf dem einen Rechner). Jedoch erscheint in der Tabelle immer noch kein Feld "Time", wahrscheinlich aus den von Dir genannten Gründen. Inzwischen hab ich auch Delphi 5 installiert. Kann ich denn da nicht den Dialect einstellen ? Wenn nicht, was kann ich denn tun um in meiner Tabelle eine Zeiteingabe speichern zu können? Würde mich über eine schnelle Antwort freuen, denn ich bin schon ganz verzweifelt.

      Gruß Elk

      Comment


      • #4
        Leider hat das Problem gar nicht so viel mit Delphi 4 oder 5 zu tun. Die BDE-Version von beiden unterstützt den Dialekt 3 nicht. Mit Delphi 6 wird die BDE V5.12 (oder ist es 5.2?) ausgeliefert, die als erste den Dialekt 3 unterstützt. Die vorherige aktuellste BDE-Version (5.11) kann man auch für Delphi-4 bekommen (Update auf der Borland-Website verfügbar). Ein Update auf die 5.12 gibt es noch nicht, könnte aber evtl. irgendwann kommen. Ich würde aber an Deiner Stelle eher native Komponenten (IBX oder IBO) einsetzen, da diese einfacher zu handhaben sind, die Installation von Anwendungen stark erleichtern, u.U. schneller sind und die InterBase vollständiger unterstützen als die BDE. Ich persönlich verwende zu IBObjects (www.ibobjects.com) und halte sie für die ausgereifteste Lösung, mit dem einzigen Nachteil, dass sie was kosten.

        Gruss
        K

        Comment


        • #5
          Hi Karsten,

          Danke für deinen Tip. Die IBX-Komponente sind doch in Delhpi 5 enthalten, wenn ich mich nicht irre oder ? Also müsste ich den Dialect 3 doch auch in Delphi nutzen können. Aber wie bekomme ich das nun hin ? Kannst Du mir Helfen ?

          Gruß Elk

          Comment


          • #6
            Hi Elke,<br>
            die BDE kann definitiv nicht für Dialect 3 Datenbanken verwendet werden, solange Du nicht Delphi 6 besitzt! Ich sehe allerdings auch keinen Sinn darin für neue Projekte mit Interbase/Firebird noch die BDE zu verwenden, da es mehrere gute bis sehr gute Lösungen gibt, direkt von einer Delphi-Anwendung heraus auf IB/Firebird Dialect 3 Datenbanken zuzugreifen. Wie bereits Karsten erwähnt hat, reduziert sich die Installation Deiner Anwendung beim Kunden unter Verwendung der nativen Zugriffskomponenten (also ohne BDE) auf ein Minimum.<br><br>
            Es gibt im wesentlichen 3 Produkte für den nativen Zugriff auf Interbase/Firebird aus Delphi heraus. IBX, FIBPlus, IBO.<br>
            <ul>
            <li>IBX: Das sind die Zugriffskomponenten die mit Delphi 5 Prof. od. Enterprise kommen (Tabsheet Interbase in der Komponentenpalette). Diese Komponenten sind kostenlos. Die IBX-Version, die mit Delphi 5 mitgeliefert wurde, kann man getrost vergessen, da diese eine Beta von der Beta waren und sehr instabil waren (Version 4.2). Mittlerweile ist man bei IBX 4.6 angelangt (ca. 3 Wochen her), wobei ich nicht sagen kann wie stabil IBX 4.6 genau ist, allerdings würde ich die Version 4.52 aus eigenen Erfahrungen als stabil bezeichnen. Die Updates für IBX bekommst Du immer unter http://codecentral.borland.com/codecentral/ccweb.exe/author?authorid=102 wobei immer 2 Dateien benötigt werden (die Installationsdateien für IBX 4.52 bzw. IBX 4.6 und die deutschen REssourcen-DLLs). Die deutschen Ressourcen DLL's sind für IBX 4.6 noch nicht verfügbar! Was die datensensitiven Elemente (Eingabefelder, Grids, ...) anbelangt können die von Delphi oder von Drittherstellern verwendet werden, da TIBTable u. TIBQuery von TDataSet abgeleitet sind.
            </li>
            <li>
            FIBPlus: Über FIBPlus (http://www.ems-hitech.com/fibplus/) kann ich relativ wenig sagen, ausser dass sie unter einer Trustware-Lizenz angeboten werden und Geld kosten und mit IBX vergleichbar sind. FIBPlus wurde z.B. in IBExpert und EMS QuickDesk eingesetzt.
            </li>
            <li>
            Das beste was es für die IB/Firebird-Entwicklung in Delphi gibt, ist (Karsten hat es bereits erwähnt) IBOBjects (www.ibobjects.com). IBObjects wird ebenfalls unter einer Trustware-Lizenz angeboten und bietet im wesentlichen 2 Arten des Zugriffs auf eine IB/Firebird-Datenbank an. Den TDataset kompatiblen Zugriff und den "echten" nativen IBO-Zugriff. Die erste Zugriffsart erlaubt wie bei IBX u. FIBPlus die Verwendung von einem Delphi TDBGrid, Komponenten von Drittherstellern (z.B. TRxDBGRid) und auf TDataset basierenden Reportgeneratoren wie QuickReport. Eine Umstellung von einer BDE-Anwendung auf IBO sollte mit Hilfe dieser Zugriffsart relativ einfach durchzuführen sein. Die zweite Zugriffsart implementiert den "echten" IBO-nativen Zugriff (vollkommen eigene Klassenhierarchie; nicht von TDataset abgeleitet) und damit kann so richtig die volle Power von Interbase/Firebird ausnutzen. Hier werden eigene IBO-datensensitive Komponenten angeboten, die sich wirklich sehen lassen. So kann die Sortierung nach Spalten auf den Header in einem TIB_Grid ganz einfach, ohne zusätzlichen Code realisiert werden. Prinzipiell kann man die Zugriffskomponenten der ersten und zweiten Zugriffsart z.B. für Reports mit QR kombinieren, allerdings existieren auch sehr gute Reportgeneratoren, die IBO voll unterstützen (Report Builder, FastReport).
            </li>
            </ul>
            Die Entscheidung hängt eigentlich von Deiner Anwendung und Deiner Zukunftsperspektive ab. Ist es eine einmalige Sache mit Interbase, dann kann man ruhig IBX verwenden. Hat man allerdings vor auch in Zukunft einiges mit Interbase zu machen, dann würde ich auf jeden Fall IBO den Vorzug vor IBX geben.<br><br>
            Beste Grüsse<br>
            Thomas Steinmaurer<br>
            http://www.iblogmanager.co
            Thomas Steinmaurer

            Firebird Foundation Committee Member
            Upscene Productions - Database Tools for Developers
            Mein Blog

            Comment


            • #7
              Hallo Thomas,

              danke für die ausführliche Erklärung. Alles weitere wie von Dir vorgeschlagen per e-mail.

              Gruß Elk

              Comment

              Working...
              X