Forum: Datenbanken
Delphi
by HeikoAdams,
13. Mai 2008
Ganz einfach: Wenn ich z.B. ein AdoDataSet mit ca. 5000 Datensätzen im Hauptthread öffne, friert während dessen die Anzeige ein und viele Kunden meinen, das Programm habe sich aufgehängt. Um das zu verhindern, wird während des Öffnen ein TAnimate angezeigt. Und damit das Animate auch unter XP ordentlich arbeitet, die (Hilfs-)Konstruktion mit dem Thread.
Forum: Datenbanken
Delphi
by HeikoAdams,
13. Mai 2008
OpenDataSource wird im Hauptthread aufgerufen und im TDSOpenThread arbeite ich nicht mit Handles. WaitFor läuft ebenfalls im Hauptthread der Anwendung und sorgt dafür, das der Bildschirm nicht einfriert, wenn der Thread länger läuft.
Ich vemute, das bei kleinen Datenmengen der Thread schon fertig ist, bevor WaitFor ausgeführt wird und das es deshalb zu der Fehlermeldung kommt. Aber wie kann...
Forum: Datenbanken
Delphi
by HeikoAdams,
13. Mai 2008
Hallo,
in meiner Anwendung habe ich einige Tabellen mit >= 1000 Datensätze, weshalb ich die Datenquellen (TAdoDataSet, TAdoQuery) in einem seperatem Thread öffnen möchte. Hierfür nutze ich die selbst geschriebene Prozedur OpenDataSource
type
TDSOpenThread = class(TThread)
strict private
FConnection: TAdoConnection;
FDataSet: TDataSet;
procedure UpdateForms;