Form vbModal öffnen

Hallo
bekomme einen Fehler, wenn ich in der Hautpform Form0 sage:

Form1.Show vbModal

Wenn Form1 abgearbeitet wird, sage ich in der Form Form1.Hide
mit Rücksprung in Form0

Dann kommt ne Schleife und es könnte wieder heissen

Form1.Show vbModal

Ist dieser Syntax falsch???

Mfg Werner

Hallo Werner,

Du öffnest eine weitere Form modal.
Dann läßt Du auf dieser Form etwas arbeiten und schließt die wieder.
Auf der Hauptform läuft dann die aufrufende Prozedur weiter und öffnet u.U. die zweite Form erneut.

Probleme hast du zum Teil damit, daß das ‚Bild‘ nicht immer der aktuellen Verarbeitungsstand entspricht, weil Windows keine Zeit hat, das Bild zu öffnen. Deshalb wurde Dir (u.a. von mir. :wink:) vorgeschlagen, Doevents zu verwenden.

Das führt scheinbar dazu, daß sich Dein Programm selbst behindert, weil ein und die selbe Prozedur zwei mal gleichzeitig läuft, Daten abhängig von Zustand ebendieser Daten verändert und versucht wird, offene Dateien erneut zu lesen, bevor sie geschlossen werden.

Um Din Probelm bessert verstehen zu können, muß ich mal wieder eine Frage stellen.

Warum ist der Programmteil, den Du in der weiteren Form hast, nicht Bestandteil der aufrufenden Prozedur?

Gruß, Rainer

Ich schick dir die Projekte
Hallo
habe dir grad die 3 Projekte geschickt (txt=Zip)
Ich weiss nicht mehr weiter *Seufz*.

Das hatte übrigens nichts mit DoEvents zu tun.
Ich glaube, das bringen jetzt alle hier schon durcheinander.

Mfg Werner

Hallo Werner,

habe dir grad die 3 Projekte geschickt (txt=Zip)

Ich seh’s mir dann heute Abend an.

Das hatte übrigens nichts mit DoEvents zu tun.
Ich glaube, das bringen jetzt alle hier schon durcheinander.

*g* das glaube ich auch. :wink:

Kannst du zwischenzeitlich trotzdem mal sagen, warum Du auf der zweiten Form eine Prozedur hast?

Gruß, Rainer

ICH GLAUBS NICHT !!!
Hi
keine Ahnung warum, vorher liefs nicht und jetzt
ich traus mich gar net sagen habe ich DOEvents wieder aktiviert in der einen Form und dann läufts immerhin durch.

Allerdings wird der letzte doppelte Punkt nicht eingelesen.
Also ist da immer noch ein Fehler (bitte finde und behebe ihn!!!)
Daher funktionierend in Anführungszeichen.

Ich verstehs aber trotzdem nicht, daher schicke ich dir jetzt die „funktionierende“ Version.

Dann schau bitte diese mal an und schalte mal in der frmAuswahl einmal DoEvents an und einmal aus.

Und dann wüsste ich gerne, warum das eine „funktioniert“, das andere aber nicht???

Mfg Werner

Hallo Werner,

keine Ahnung warum, vorher liefs nicht und jetzt
ich traus mich gar net sagen habe ich DOEvents wieder
aktiviert in der einen Form und dann läufts immerhin durch.

Allerdings wird der letzte doppelte Punkt nicht eingelesen.
Also ist da immer noch ein Fehler (bitte finde und behebe
ihn!!!)
Daher funktionierend in Anführungszeichen.

Unbefriedigend.

Ich verstehs aber trotzdem nicht, daher schicke ich dir jetzt
die „funktionierende“ Version.

Dann schau bitte diese mal an und schalte mal in der
frmAuswahl einmal DoEvents an und einmal aus.

Und dann wüsste ich gerne, warum das eine „funktioniert“, das
andere aber
nicht???

Ich seh’s mir heute Abend an, von hier aus komme ich da nicht ran.

Ich vermute immer noch Probleme im Timing, die sich per Zufall gerade mal nicht ergeben. Verändere mal die Zahl der Datensätze in der DB heftig, dann sind die Probleme sicher wieder da. ;-(

Noch mal: Warum Code in der zweiten Form? Gibt’s dafür einen Grund?

Gruß, Rainer

Hallo
ich warte jetzt lieber drauf, das du mir das sagen kannst.
Bin im Moment erschöpft und etwas verärgert, das es so viele Hürden gibt.

Warum der Code in der zweiten Form, tja weiss ich selbst nicht, aber die Form brauch ich zur Abfrage bei doppelten Punkten, wie dann verfahren werden soll (neue PktNr, Übergehen, Vorhandenen überschreiben oder Einlesen abbrechen)

Schaus dir einfach an. Ist noch nicht sehr komplex.
Da blickst du sicher durch, wenn dus getestet hast.

Nun habe ich das ja doch noch ganz gut eingrenzen können, so das das irgendwie klappen sollte.

Mfg Werner und danke schon mal im Voraus für die Ansicht der Daten

Hallo Werner,

ich warte jetzt lieber drauf, das du mir das sagen kannst.

Ja, das ist wohl das Beste, wenn ich mir das erst ansehe und dann kommentiere.

Bin im Moment erschöpft und etwas verärgert, das es so viele
Hürden gibt.

Das ist bestimmt nur ein ganz kleines Fehlerchen, das dann eine Kette von Ereignissen ausgelöst hat. Kein Grund zum ärgern. :wink:

Warum der Code in der zweiten Form, tja weiss ich selbst
nicht,

Dann rechne mal damit, daß ich den Code von der zweiten form als erstes in Prozeduren auf der ersten Form kopiere. :wink:
Es würde mich nicht wundern, wenn das alle Fehler behebt.

aber die Form brauch ich zur Abfrage bei doppelten
Punkten, wie dann verfahren werden soll (neue PktNr,
Übergehen, Vorhandenen überschreiben oder Einlesen abbrechen)

Dazu sollte kein Code auf der zweiten Form nötig sein. Die zweite Form werde ich aber nicht entfernen. Wenn Du da etwas anzeigst, bleibt das erhalten. Wenn ich den gesamten Code auf der ersten Form habe, klappt dann auch

Form2.Hide
Form2.Refresh

und die Form ist wirklich weg, auch ohne Doevents. Das macht das Programm schneller.

Schaus dir einfach an. Ist noch nicht sehr komplex.
Da blickst du sicher durch, wenn dus getestet hast.

Das hoffe ich auch.

Bis heute Abend!

Gruß, Rainer