Post by Silenus papariasDiese Anwedung hat in unterschied zum allen laufaehigen Anwedungen-- 2
OleboundControl elementen.
Wenn das wirklich der einzige unterschied ist, dann wie schon gesagt: Das
wirkt sich nur und erst in dem Moment aus, wo das Formular mit den controls
startet. Und wenn es das tut, dann im Fehlerfall eben leer, aber es
scheitert weder Meldungslos noch komplett ohne irgendeine Anzeige.
Du solltest wirklich mit dem Taskmanager zur Analyse anfangen. Starte den
Taskmanager Geh auf den Reiter Prozesse, dann starte die EXE.
Was passiert? Wird die EXE mit aufgelistet obwohl nix angezeigt wird? Dann
machst Du u.U. das READ EVENTS vor dem starten der Mainform, dann passiert
nix, ja, logisch. Wenn da eine Zeile kurz aufflackert, die dann wohl Deine
EXE ist, dann läuft das READ EVENTS nicht, Du rauschst durch, die EXE
beendet sich gleich wieder.
Was auf Deinem Entwicklungsrechner klappt hilft insofern nicht zur Analyse,
als daß durch die VFP Installation bei Dir die VFP Runtimes installiert und
registriert sind, das OCX dito und Du wenn Du eine Anwendung aus der IDE
heraus z.B. per DO your.exe startest die EXE auch ohne Read events oder
modales Formular startet und bleibt, die IDE slebst fungiert dann als READ
EVENTS Ersatz.
Gerade wenn Dein main form top level ist, brauchst Du definitiv ein READ
EVENTS und das auch an der richtigen Stelle. Denn Top Level Forms kannst Du
gerne auf modal stellen im Property Fenster, sie sind es zur Laufzeit nicht.
Ein funktionierendes Grundkonstrukt habe ich auch schon öfters aufgewiesen.
Folgendes generiert ein "Hallo Welt" Projekt, was läuft:
http://www.tek-tips.com/faqs.cfm?fid=6512
Da ist eine Top Level Form drin, der Screen ist darin aus und ein Read
Events läuft da an der richtigen Stelle (nachdem das Form
aufgerufen (und sichtbar geschaltet) wurde)
Du kopierst Dir den Codebereich, wenn Du generell Objektorientiert arbeitest
am besten den VCX Codebereich und läßt ihn laufen. Angepaßt werden sollte in
der ersten Zeile die ccPropjectpath auf den Pfad, in dem das Projekt
generiert werden soll. Der Code generiert dann ein Projekt mit einer leeren
Form und ein main.prg, setzte alle nötigen Eigenschaften im Projekt selbst
und der Form und compiliert das ganze sogar zu einer EXE. Danach hast Du
dann ein PJX, was Du Dir unter die Lupe nehmen kannst. So funktioniert das.
Und ein Oleboundcontrol sollte dem auch kein Abbruch tun, selbst wenn es auf
dem Top Level Form wäre und dessen Instanzierung scheitert, würde die EXE
trrotzdem laufen und Fehler werfen, aber nicht so stumm bleiben, wie Du
schilderst. Mit diversen Controls, die ich da schon verwendet habe, ob nun
bound oder nicht: Wenn sie fehlen bleibt nur der Formularbereich blank, die
EXE startet aber und auch das Formular mit dem Olebound. Es hagelt u.U.
natürlich Fehlermeldungen, aber stumm bleibt das nicht.
Tschüß, Olaf.