Hallo zusammen,
ich arbeite derzeit an einem Projekt, welches Daten auf einem MS
SQL-Server verwaltet. Für den Zugriff nutze ich die SDAC-Komponenten von Devart. Ich habe damit folgende Probleme die ich mir einfach nicht erklären kann bzw. mich nicht daran erinnere, dass das früher auch so war:
- Es wird ein Datenmodul erstellt. Dieses wird in den Projektoptionen als erstes Form initialisiert (steht ganz oben über dem Hauptformular)
- Im Datenmodul wird eine Connection definiert (TMSConnection)
- Ein neues Formular wird erstellt. Dieses wird nicht automatisch erzeugt (was jedoch irrelevant ist).
- In der uses-Liste des Formulars wird die
Unit des Datenmoduls aufgenommen (damit die Connection verfügbar ist).
- Auf dem Formular wird ein
Query definiert welches die Connection aus dem Datenmodul verwendet.
- Das
Query wird auf "Active" gesetzt.
Soweit erst mal alles Standard. Nun habe ich folgende beiden Probleme:
1. Wenn ich die Applikation starte steht das "Active" der
Query auf "False". Ich kann diese aber Problemlos in Create der Form auf "True" setzen. Sollte die nicht automatisch auf "True" sein wenn es zur
Design-Time auf "True" war?
2. Wenn ich das Projekt neu öffne (z.B. nach dem Start von Delphi) erhalte ich für alle aktiven Zugriffskomponenten (
Query, Table, ...) die Meldung "Connection is not defined". Die Formulare werden zwar geöffnet aber Datenzugriffe sind inaktiv (Active = False).
Ich habe nun schon eine Weile nichts mehr mit Datenbanken gemacht und bin mir daher etwas unsicher. War das früher auch schon so? Muss ich zur Laufzeit jede benötigte Datenquelle wieder explizit öffnen? Konnten auch früher schon geöffnete Datenquellen nicht im Projekt gespeichert werden? Das Verhalten ist in Delphi 10.4 und Delphi 11 gleich...
Danke für eure Hilfe
Alex
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)