heute konnte ich mich einfach nicht beherrschen können habe gleich die neue Version 1.2 installiert
Für ein kleines unter Win64 eingesetztes Projekt bin ich leider darauf angewiesen, eine 64bit-Version zu erzeugen, da anderenfalls einige relevante Registry-Einträge nicht gelesen werden können. Bisher hatte ich es mir einfach gemacht und Lazarus in der 64-bit-Variante benutzt. Nachdem ich heute die dringende Empfehlung, lieber lazarus-1.2.0-fpc-2.6.2-win32.exe zu installieren und bei Bedarf zusätzlich lazarus-1.2.0-fpc-2.6.2-cross-x86_64-win64-win32.exe, habe ich mir diesen Rat zu Herzen genommen.
Bei dem Projekteigenschaften habe ich dann unter Compilereinstellungen/Konfiguration und Ziele folgendes eingestellt:
Code: Alles auswählen
[x] Standard-Compilerkonfigurationsdatei einbinden
[ ] zusätzliche Compilerkonfigurationsdatei einbinden
Zielplattform
Zielbetriebssystem: Win64
Ziel-CPU-Familie: x86_64
Ziel-Prozessor: (Voreinstellung)
Zieletriebssystemspezifische Einstellungen
[ ] Win32-GUI-Anwendung
Soweit war's für mich noch intuitiv. Erstaunlicherweise wurde mein Projekt auch erfolgreich kompiliert. Beim Start der Anwendung erscheint aber nun jedes Mal eine Konsole, während die eigentliche Anwendung mit kurzer Verzögerung erscheint. Die Anwendung bindet zwar während der Laufzeit erstens eine 64-bit-Sqlite-DLL ein, womit sie auch erfolgreich auf ihre Daten zugreift, und sie liest zweitens auch die fraglichen Registryschlüssel wie eine 64-bit-Anwendung aus. Im Taskmanager erscheint sie allerdings als 32-Bit-Prozeß.
Mit alledem könnte man leben, da die wesentlichen Anforderungen ja alle erfüllt sind, nur die ungefragt beim Start erscheinende Konsole würde ich schon gern loswerden. Kennt jemand den Effekt?
Was wäre der einfachste Weg, den Start aus einem CMD-Fenster zu unterbinden? Irgendwas habe ich sicher noch übersehen, obwohl ich den ganzen Vormittag gesucht und diverse Einstellungsvarianten durchprobiert habe.