Nochmal zur Ursprungsfrage zurück!
Warum geht Du im Datenmodul nicht hin und definierst ein Event z.B.:
Delphi-Quellcode:
private
FTblXyzAfterScroll : TNotifyEvent;
public
property TblXyzAfterScroll : TNotifyEvent read FTblXyzAfterScroll write FTblXyzAfterScroll;
// .....
FTblXyzAfterScroll := nil; // im Create des Moduls oder im Initialization-teil
// ......
// Im wirklichen Afterscroll-Event des TablesXyz sagst Du dann:
if Assigned(TblXyzAfterScroll) then
TblXyzAfterScroll(Sender);
// dann gehst Du in Form wo du das Event brauchst hin und definierst eine procedure z.B. so:
procedure CatchTblXyzAfterScrollEvent(Sender : TObject);
// .....
// Und nach erzeugen des Datenmoduls weist Du einfach die Events zu:
myDM.TblXyzAfterScroll := CatchTblXyzAfterScroll;
// Ab jetzt sollte beim Eintreten des AfterScroll-Events bei Dir in der Form die procedure CatchTblYxzAfterScroll aufgerufen werden
Generell muss ich mich erstmal meinen Vorrednern anschliessen: 30 Datenbanken ?????!!!! Wer hat sich den "Sch..." ausgedacht ?
Es muss eine
DB mit XY Tabellen sein.
Und auf jeden Fall sollten immer nur die Tabellen geöffnet sein die gerade gebraucht werden!
Noch bessere es werden immer nur die Querys/Tables dynamisch erzeugt und wieder freigegeben die gerade gebraucht werden.
Ich persönlich habe mir zu diesem Zweck eine Klasse geschrieben, die für mich sämtliche
DB-Aktionen kapselt und
für jedliche Datenzugriffe die entsprechenden Objekte dynamisch erzeugt, Informationen zur Verfügung stellt und wieder zerstört.
Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.