Programm schließt sich automatisch
-
Es muss jeder die Datei verändern können.... da dort produktionsdaten drin stehen.
-
Hallo
alle deine Probleme kannst du lösen, indem du anstatt Excel, ODBC und Dateifreigaben einen ordentlichen Datenbankserver verwendest. Es bieten sich zum Beispiel Firebird und PostgreSQL an.
bis bald
akari
-
Danke... es muss aber auch so gehen oder ?
Vorallem warum schliesst sich ein Programm ohne Fehlermeldung ?
Nun und wenn ich nicht Excel verwende muss ich den Benutzern eine GUI für den Datenbank-Server Programmieren.
-
Hallo
Vorallem warum schliesst sich ein Programm ohne Fehlermeldung ?
Das liegt an deinem Programm. Da du aber keinerlei Details veraten hast, können wir dazu nichts treffendes sagen.
Nun und wenn ich nicht Excel verwende muss ich den Benutzern eine GUI für den Datenbank-Server Programmieren.
Wenn du einen verteilten Zugriff mit mehreren Clients gleichzeitig programmieren willst, kommst du um eine saubere DB nicht drumherum. Denn unter Windows kann nunmal nur einer schreibend auf eine Datei gleichzetig zugreifen. Und viele Programme verhindern auch lesenden Zugriff, wenn eine Datei bereits schreibend geöffnet ist.
bis bald
akari
-
unter Windows kann nunmal nur einer schreibend auf eine Datei gleichzetig zugreifen.
Und die Win32 API -> CreateFile mit dem Parameter dwShareMode=FILE_SHARE_WRITE??
Solle doch gehen. Nur der Zugriff auf Excel über ODBC kann wohl nicht geshared werden (wenn der Treiber das nicht anbietet).
-
Das Problem mit dem Sharen des Excel Files bekomme ich hin..... aber das mit dem automatisch schliessen ist seltsam.
@akari ... dass es an meinem Programm liegt ist mir bewust... nur wo....
wenn ein programm abstürtzt kommt immer eine Fehlermeldung..... was kann es sein hast du vorschläge.... oder nachvollziehbare Beispielsituationen ?Danke @ all
-
Hallo
Zuerst must du das Auftraten des Absturzes erstmal näher eingrenzen.
Dann kannst du mit dem Debugger und selber eingefügten Logfunktionen genau den Programmverlauf und Variablenwerte verfolgen.Eine Fehlermeldung kommt übrigens nur, wenn sie explizit angezeigt wird.
Auch Exception können abgefangen und übergangen werden.
Allerdings wird spätestens bei Speicherzugriffsfehlern sich Windows je nach Version und Einstellungen sichtbar melden und das Programm zwangsweise schließen.bis bald
akari
-
Morgen ;),
das mit den Logfiles ist mir auch schon in den Sinn gekommen.... Danke
-
Hallo meine Freunde der Technik

ich habe den Fehler gefunden.... man man man war dat ne arbeit....
es hängt irgendwie mit der folgenden aussage zusammen :Form1->Database2->Connected=true; Form1->Query2->Active=true; while(Produkte>0&&!Form1->Query2->Eof)Sollang ich nichts an der Excel-Datei mache ist auch alles ok...
Aber sobald ich die Datei lösche oder Sie bearbeite... bleibt die Software genau an dieser Stelle stehen und nach ca. 5 Minuten hängt sich das Programm auf
Kommen wir nun zur lösung... wie muss ich die abfrage modifizieren so dass... wenn die Datei nicht vorhanden ist oder von einem anderem Benutzer verwendet wird dieser Programm part übersprungen wird ???
Danke und MFG
HeinzPeter
-
Ich würde Dir akaris Lösungsweg empfehlen...
An der Abfrage kannst Du nichts ändern. Kannst höchstens try catch verwenden um den Fehler gezielt abzufangen. Du kannst weiterhin zuerst versuchen, die Datei schreibend zu öffnen, gelingt Dir das nicht, wird sie zur Zeit bearbeitet. Gelingt es Dir erstellst Du eine Kopie der Datei und wertest diese aus. Ist aber alles nur Frickelei, sauber wirst Du dieses Problem mit Excel nicht lösen können.