AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL-Select während der Ausführung wieder abbrechen
Thema durchsuchen
Ansicht
Themen-Optionen

SQL-Select während der Ausführung wieder abbrechen

Offene Frage von "daddy"
Ein Thema von daddy · begonnen am 12. Feb 2010 · letzter Beitrag vom 13. Feb 2010
 
daddy

Registriert seit: 9. Sep 2005
Ort: Köln
124 Beiträge
 
Delphi 7 Enterprise
 
#1

SQL-Select während der Ausführung wieder abbrechen

  Alt 12. Feb 2010, 14:46
Datenbank: Firebird • Version: 1.5 • Zugriff über: IBExpress
Ich arbeite mit Firebird und IBExpress und möchte dem Anwender die Möglichkeit bieten, einen langwierigen Select-Befehl wieder abzubrechen. Hier ergeben sich nun zwei Probleme, nachdem ich das ClientDataSet.Open aufgerufen habe.

1. Ich muss ein geeignetes Ereignis (z.b. Tastendruck oder Mausklick) abfangen, obwohl das Programm das OPEN ausführt.
2. Ich muss dann das OPEN von außen stoppen können.

Ich habe einen Ansatz über Threads versucht, habe aber mit der Thread-Programmierung wenig Erfahrung. Das Abfangen des Ereignisses funktioniert problemlos. Mit TerminateThread kann ich auch den Thread, der das OPEN ausführt radikal beenden. Ich frage mich aber, ob dieser radikale Abbruch überhaupt sinnvoll und zulässig ist. Meistens scheint es zwar zu funktionieren, manchmal habe ich aber hinterher Probleme bei Programmende, so als wären irgendwelche Speicherbereiche nicht korrekt freigegeben worden. Das Programm hängt sich dann ohne Fehlermeldung auf.

Meine Fragen:
1. Ist der Ansatz überhaupt der richtige? Welche Alternativen sind möglich?
2. Gibt es irgendwelche Randbedingungen, die beim TerminateThread zu beachten sind?
3. Kennt jemand zu diesem Problem bereits einen anderen Beitrag in der Delphi Praxis oder irgend ein geeignetes sonstiges Dokument?

Dank für jede Hilfe!

Daddy
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz