Hallo!
Ich habe folgendes Problem:
Ich habe ein Projekt, welches ich unter Delphi 4.0 Servicepack 3 erstellt habe und das auch in dieser Version verwendet wird. Nun habe ich das Projekt unter Delphi 5 kompiliert, was auch ohne Probleme verlief. Wird das Programm nun gestartet und anschließend beendet, so erscheint beim Beenden der Anwendung die Fehlermeldung " Doppelter Datenbankname 'xyz' ".
Zum Programm:
Ich erzeuge zur Laufzeit ein Alias unter Zuhilfenahme einer Database-Komponente.
Database1.DatabaseName := Konfig.Alias;
Database1.DriverName := 'STANDARD';
Database1.Params.Clear;
Database1.Params.Add('Path='+Konfig.PfadDB);
In einem zweiten Datenmodul wird eine weitere Database-Komponente (Database2) zusammen mit einer Komponente des Typs TSession verwendet (für einen parallelen Thread). Wird die Database-Komponente (Database2) entfernt, so wird angezeigt, daß das Alias 'xyz' nicht vorhanden ist.
Die beiden Databasekompnenten richtet das gleiche Alias ein.
Frage:
Ist dieses Vorgehen grundsätzlich falsch? Warum macht Delphi 4 und Delphi 5 hier
einen Unterschied.
Nur wenn für den Thread ein Alias mit einen anderen Namen eingerichtet wird
tritt kein Fehler auf.
Vielleicht hat jemand eine Erklärung.
P.S.: Übrigens habe ich eine weitere Anwendung, welche auf gleicher Weise programmiert ist, nur tritt hier der Fehler nicht auf. Unterschiede? Das zweite Programm ist umfangreicher.
Ich habe derzeit Urlaub und werde auf Rückfragen verzögert antworten.
Vielen Dank für alle Tips!
mfg Thomas
Ich habe folgendes Problem:
Ich habe ein Projekt, welches ich unter Delphi 4.0 Servicepack 3 erstellt habe und das auch in dieser Version verwendet wird. Nun habe ich das Projekt unter Delphi 5 kompiliert, was auch ohne Probleme verlief. Wird das Programm nun gestartet und anschließend beendet, so erscheint beim Beenden der Anwendung die Fehlermeldung " Doppelter Datenbankname 'xyz' ".
Zum Programm:
Ich erzeuge zur Laufzeit ein Alias unter Zuhilfenahme einer Database-Komponente.
Database1.DatabaseName := Konfig.Alias;
Database1.DriverName := 'STANDARD';
Database1.Params.Clear;
Database1.Params.Add('Path='+Konfig.PfadDB);
In einem zweiten Datenmodul wird eine weitere Database-Komponente (Database2) zusammen mit einer Komponente des Typs TSession verwendet (für einen parallelen Thread). Wird die Database-Komponente (Database2) entfernt, so wird angezeigt, daß das Alias 'xyz' nicht vorhanden ist.
Die beiden Databasekompnenten richtet das gleiche Alias ein.
Frage:
Ist dieses Vorgehen grundsätzlich falsch? Warum macht Delphi 4 und Delphi 5 hier
einen Unterschied.
Nur wenn für den Thread ein Alias mit einen anderen Namen eingerichtet wird
tritt kein Fehler auf.
Vielleicht hat jemand eine Erklärung.
P.S.: Übrigens habe ich eine weitere Anwendung, welche auf gleicher Weise programmiert ist, nur tritt hier der Fehler nicht auf. Unterschiede? Das zweite Programm ist umfangreicher.
Ich habe derzeit Urlaub und werde auf Rückfragen verzögert antworten.
Vielen Dank für alle Tips!
mfg Thomas
Comment