Resourcen
Übersicht
Programmierung
Schulungen
Projektabwicklung
Consulting & Coaching
Tools und AddOns zu FoxPro
Frameworks für Visual FoxPro
Grafik und Berichtsausgabe
Installation und Dokumentation
Sicherheit und Übertragung
Standardsoftware in FoxPro
Bücher und Zeitschriften
dFPUG Service
dFPUG Regionaltreffen
dFPUG Online
MS Most Valuable Professionals
Microsoft Certified Professionals
Bücher
Presse
Stellen
Tipps

alle öffnen    alle schließen


Nicht compiliert - . . geändert
 

Projektname bei Exe

PROJEKTNAME BEI EXE

von Rainer Becker

Ich hatte lange Zeit eine Standard-Startdatei für alle meine Applikationen. Dieser Startdatei wurde der Name des Hauptprogrammes der Applikation übergeben. Sie führte dann erstmal alle allgemeinen Einstellungen wie Resource- und Hilfsdatei, Farb- und Druckerset, Fehlerbehandlung und Tastenbelegungen durch und rief danach das übergebene Hauptprogramm mit "DO (m.cHauptProg)" auf. Nach Beendigung des Hauptprogrammes kam man dann wieder in das Startprogramm, welche alle Einstellungen wieder auf den ursprünglichen Wert zurücksetzte und das Programm beendete. Dadurch mußte ich nicht für jede Applikation wieder alle Start- und Endefunktionen kopieren. Die Katastrophe kam, als ich mein erstes Programm in eine EXE-Datei umwandeln wollte. Die EXE-Datei stürzte nach meiner Startmeldung kommentarlos ab. Ich habe einige Zeit gebraucht um folgenden Sachverhalt festzustellen: Sofern irgendeine Programmdatei innerhalb eines Projekts den gleichen Namen hat, wie das Projekt selber (z.B. "KUNDEN.PJX" und "KUNDEN.PRG") und diese Programmdatei nicht gleichzeitig die Hauptdatei des Projektes ist, kommt es unweigerlich zum Komplettabsturz des EXE-Programmes, sobald dieses Programm aufgerufen wird. Die Begründung dafür ist relativ harmlos: Die Hauptdatei des Projektes wird in den Projektnamen umbenannt. Der Aufruf der mit dem Projektnamen benannten Programmdatei wird nie ausgeführt - stattdessen startet das EXE-Programm wieder von vorne bzw. versucht dies in einer Endlosschleife. Durch Umbennenen der entsprechenden Programmdatei läßt sich das Problem sofort beheben.