Neuigkeiten zu OASIS-SVN ...

... und Nachrichten aus den Bereichen Access- und Delphi-Entwicklung

Bitte beachten!

In der Zeit vom 16.08. bis zum 21.08. können Bestellungen per Email nicht bearbeitet werden.
Die Transaktionsbestätigungen mit den Freischaltcodes zu Bestellungen per PayPal werden automatisch versendet. Die dazugehörigen Rechnungen werden jedoch erst wieder ab dem 22.08. verschickt.

Version 3.2 veröffentlicht

Vor wenigen Tagen wurde die Version 3.2 offiziell zum Download und für die automatische Aktualisierung bereitgestellt.
Neben einigen kosmetischen Korrekturen und kleineren (oder auch größeren) Bugfixes wurden zwei neue Features implementiert:

  • Die exportierten Dateien für Formulare und/oder Berichte können nun auf Wunsch in Layout und Code aufgeteilt (gesplittet) werden.
    Das vereinfacht die Zusammenarbeit, wenn z.B. die Arbeiten am Design und am Code an zwei verschiedene Entwickler vergeben werden.
    Ist die entsprechende Option in den Einstellungen für die jeweilige Datenbank aktiviert, wird neben der Datei mit dem Code (formular.def) auch eine separate Datei mit den reinen Designinformationen (formular.layout) erstellt, die dann natürlich auch getrennt versioniert werden können. Vor dem Import werden die beiden Dateien natürlich wieder zusammengefügt.

  • ObjektmodellAuf besonderen Wunsch aus den USA wurden die Möglichkeiten zur Automatisierung von OASIS über das Objektmodell erweitert.
    Es ist nun möglich, die Objekte und/oder die Eigenschaften eine Datenbank auch per VBA zu exportieren. Mit EarlyBinding realisiert sieht das wie folgt aus:
    Dim oa As New oasis: oa.ExportObjects oaForm + oaReport + oaDBProperty, "C:\Temp"

Continous Integration mit Continua CI

Wer sich mit Themen wie Clean-Code, Agile und DevOps beschäftigt, kommt um Continous-Integration und Continous-Delivery nicht herum.

Im Tagesgeschäft mit Microsoft Access habe ich schon seit langem auf komplette Automatisierung umgestellt. Im Zusammenspiel von Subversion und OASIS ist das kein größeres Problem.
Ein Commit in die Versionsverwaltung führt automatisch zu einem neuen Build meiner Access-Applikationen und auch gleich zu einer automatischen Verteilung an die Anwender im Unternehmen.
Ich selbst muss mich um nichts mehr kümmern ... außer darum dass mein Code auch funktioniert.

Seit ein paar Tagen habe ich das jetzt auch für OASIS selbst implementiert ...

Weiterlesen

Version 3.1 veröffentlicht ...

Soeben wurde die Version 3.1 veröffentlicht.

Neben der kompletten Überarbeitung des Assistenten, die fast einer Neuentwicklung gleichkam, wurden einige weitere Features - vor allem auf Anwenderwunsch - integriert:

  • In der Einstellungsdatei (*.oasis) eines Projekts kann definiert werden, welche Systemobjekte im Ex- und Importdialog aufgeführt werden.
    Das ist vor allem dann sinnvoll, wenn jemand auf die Idee gekommen ist seine Objekte mit den Namen "MSys..." zu "verstecken".
  • In der Einstellungsdatei (*.oasis) eines Projekts kann definiert werden,dass für das Kontextmenü nicht nach verknüpften ODBC-Tabellen gesucht wird.
    Die führte in älteren Access-Versionen manchmal zu Problemen.
  • Mit "MethodeVorImport" kann eine Methode angegeben werden, die vor dem Import von Tabellen, Formularen usw. ausgeführt wird.
    Ist eine solche Methode angegeben, werden die Module als erstes importiert. Mit Hilfe der Methode kann dann z.B. Benutzername/Passwort für die Verknüpfung von ODBC-Tabellen vordefiniert werden.
  • Außerdem wurden jede Menge kleinerer Refactorings durchgeführt, die die Wartung, Fehlersuche und Erweiterungen erleichtern sollen.
    Sowas sollte sich eigentlich jeder Entwickler zu eigen machen: Padfinderregel ... hinterlasse den Code immer in besserem Zustand als Du ihn vorgefunden hast.

 

Neuer Assistent ...

Die Integration von TortoiseGit und TortoiseHG ist mittlerweile recht gut gelungen und wird inzwischen auch häufig eingesetzt.

Eine Sache ist aber bei der Integration irgendwie unter den Tisch gefallen: Der Assistent wurde nie so richtig mit den neuen Systemen ausgetestet. Auch die Beta-Tester hatten den wohl irgendwie nicht auf dem Schirm. Warum auch? Als inzwischen gestandene Profis in Sachen Quellcodeverwaltung benötigt man den ja auch so gut wie nie. Entwickler sind halt wie immer nur sehr schlechte Tester.

Da der bisherige Assistent nun mittlerweile auch etwas in die Jahre gekommen ist, habe ich beschlossen hier mal grundlegend zu renovieren.
Die Komponenten von Developer-Express bieten dazu auch gleich das richtige Steuerelement an, so dass der neue Assistent dann auch in einem modernen, frischen und professionellen Look daherkommt.

Das Design ist soweit fertig, nun geht's an Feinarbeit in Sachen Funktionalität und an die Lokalisierung ... 

Warum eigentlich Delphi?

Mit schöner Regelmäßigkeit werde ich auf Konferenzen und Events gefragt, mit welcher Sprache OASIS entwickelt wird. Wenn ich dann antworte, dass ich mit Delphi entwickle, ernte ich oft fragende Blicke, Stirnrunzeln und Verwunderung.

Warum denn ausgerechnet Delphi und nicht C#, C++ oder VB.Net?

Die Antwort ist eigentlich reichlich trivial: Weil ich's kann :-) Nein, nun mal im Ernst: Natürlich ist der Hauptgrund, dass ich Delphi im Gegensatz zu den anderen genannten Sprachen einfach besser beherrsche. Das schreibt sich fast so leicht runter wie VBA ... ganz einfach weil ich beide Sprachen fast täglich verwende.

Aber es gibt noch einen weiteren - für mich persönlich ganz wichtigen - Grund: Ich hasse sämtliche Arten von Laufzeitumgebung. Einer der Gründe, warum ich beispielsweise von Java überhaupt nichts halte. Als Entwickler habe ich keinen Einfluss darauf, welche Version der Java-Runtime auf dem Zielrechner installiert ist.

C# und alle anderen Sprachen aus dem .Net-Umfeld haben prinzipiell den gleichen Nachteil, denn das .Net-Framework ist ja nichts anderes als eine Laufzeitumgebung. Und wenn ich gegen eine bestimmte Version des Framework entwickle und die auf dem Zielrechner nicht installiert ist, muss der Anwender das nachholen.

Und sowohl bei der Java-Runtime als auch beim .Net-Framework kommt das Problem mit den Updates hinzu, auf die ich keinen Einfluss habe. Vor allem bei Java habe ich es bereits des Öfteren erlebt, dass eine Anwendung nach einem Update der Laufzeitumgebung plötzlich den Dienst verweigert.

Weiterlesen

  • 1
  • 2