19. Juni 2008

Compile oder Compile All ?

Wie sollte man eine Maske am besten kompilieren? Bevor ich die Problematik dieses Themas erläutere, hier erst ein paar Erklärungen:

Compile Incremental : Ctrl + K
Compile All : Shift + Ctrl + K
Compile Module (Generate): Ctrl + T
Run : Ctrl + R

In den älteren Versionen von Forms war Compile Module als Generate bekannt. Das bevorzuge ich auch heute noch, da die Tastenkombination Ctrl+T das FMX generiert.

Bei der täglichen Arbeit werde ich ab und zu mit einem nicht reproduzierbaren Problem konfrontiert. Nachdem Änderungen in einer Maske gemacht wurden startet man den Generate. Nun wird automatisch intern ein Compile Incremental durchgeführt und danach das FMX erzeugt.

Und das ist das Problem. In 9 von 10 Fällen läuft das FMX ohne Probleme, aber ab und zu arbeitet das Compile Incremental nicht zuverlässig. Dies erkennt man aber erst zur Laufzeit durch merkwürdige nicht reproduzierbare Fehlermeldungen.

Meine Lösung für dieses Problem ist:

Nach dem Öffnen einer Maske wird sofort ein Compile All gestartet. Jeder Incremental Compile und jeder Generate, der von nun an gestartet wird läuft ohne Probleme. D.h. wenn die Maske einmal gründlich kompiliert wurde kann man ab diesem Zeitpunkt ohne Bedenken Generates starten.

Try it
Gerd

Keine Kommentare: