Autor Beitrag
Zürrer
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 27

WIN 7 Prof
Delphi 2
BeitragVerfasst: Do 30.09.10 16:52 
Hallo hilfreiche Runde
Ich weiss nicht, ob ich hier richtig bin mit meinem Delphi Ver.2 (Bin schon beinahe 90 also bitte um Entschuldigung).
Ich habe ein Programm mit mehreren Table, funktioniert bestens. Nun wollte ich etwas ändern und habe eine weitere Table eingefügt, völlig analog zu den anderen. Compiling ist OK. Beim Run bekomme ich beim ersten Treffen auf die neue Table die Fehlermeldung 'Maximum of 16 clients allowed'. Keine Hilfe im Help-File gefunden.
Kann mir jemand im Forum weiterhelfen.
Vielen Dank im voraus.
MfG
Egon


Moderiert von user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am Do 30.09.2010 um 19:49
Critter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 328
Erhaltene Danke: 3

Windows 7
Delphi 7 Pro.
BeitragVerfasst: Do 30.09.10 17:42 
Hallo,

ich nehme einmal an, dass es sich um die 17te Tabelle gehandelt hat. Scheinbar verwendest du ein Datenbanksystem, welches nur 16 gleichzeitige Tabellenzugriffe zulässt.

Bei den meisten Datenbanksystemen wirst du die Zahl in irgendeiner Konfigurationsdatei hochdrehen, und das Problem somit weiter in die Zukunft schieben können. Besser ist es allerdings, wenn du das Problem erst gar nicht auftreten lässt. Ich nehme an, dass du nie gleichzeitig auf die Inhalte aller Tabellen zugreifen wirst. Daher solltest immer nur die Tabellen offen halten, die auch in diesem Moment benötigt werden.

Angenommen deine Anwendung besteht aus einem DataModule auf dem alle deine Tabellen liegen und aus einigen Formularen, welche jeweils ein DBGrid enthalten, welches jeweils den Inhalt einer Tabelle anzeigt, dann solltest du diese Tabelle im OnShow öffnen und im OnHide wieder schließen. Also z. B. so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.FormHide(Sender: TObject);
begin
  DataModule1.Table1.Close;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  DataModule1.Table1.Open;
end;


Vorher musst du in deinem DataModule noch bei allen Tabellen Active auf False setzen.

critter

_________________
Diejenigen, die grundlegende Freiheiten aufgeben, um ein wenig mehr vorrübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit.
(Benjamin Franklin;"The Papers of Benjamin Franklin", Vol. 6, Apr. 1, 1755, through Sep. 30, 1756)
Zürrer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 27

WIN 7 Prof
Delphi 2
BeitragVerfasst: Sa 02.10.10 10:13 
Hallo Critter
vielen Dank für den Hilfeversuch.
Wie durch ein Wunder hat sich mein Problen von selbst gelöst und ist auf einmal nicht mehr da, ich weiss nicht warum.
Es kann nicht durch zuviele Tabellen verursacht sein, denn ich habe im Programm nur 3 und wollte ein Vierte einbauen.
Trotzdem nochmals Danke!
MfG
Egon