![]() |
AW: query.open in Threads
Zwei Möglichkeiten:
1. Du übergibst dem Thread als Parameter im Create (oder als Property) eine Oracle Connection 2. Du lässt den Thread im Execute eine eigene Connection aufbauen. |
AW: query.open in Threads
Ich hatte diese Konstellation bisher so noch nicht, aber ich meine folgendes Problem macht das in der gewünschten Form unmöglich:
SQL Connections sind i.A. an den Thread gebunden, in dessen Kontext man sie erstellt. Heisst: Ein TThread kann/darf eine Connection, die auf dem Formular liegt, in keiner Weise nutzen. Das beinhaltet auch, dass im Thread keine Query benutzt werden kann/darf, die als Connection die auf dem Formular benutzt. Umgekehrt das selbe: Wird die Connection im Kontext des TThreads erzeugt, darf nichts auf dem Formular etwas anfassen, was diese Connection benutzt. Folgerung: Connection auf Formular -> Kein Query.Open im Thread. Connection im Thread -> Keine Benutzung der Query als Dataset für das Grid Man könnte jetzt an eine vermittelnde Pufferstruktur denken, die du im Thread voll machst, und dann dem Hauptthread am besten per Message mitteilst, dass es vollbracht ist. Der füllt dann ein Grid damit... und schon braucht dieser vermutlich ähnlich lange, genau dies zu tun. Darüber hinaus kann das dann kein DBGrid mehr sein, bzw. ist jeglicher Bezug zur DB dahin -> Editieren wird so einfach nichts. Alles was man versuchen würde das eigentliche Problem zu kaschieren, wird mindestens extrem wackelig. Mach es lieber richtig, und filter wie schon irgendwo vorher gesagt wirklich nur die Daten, die du gerade zur Anzeige brauchst heraus. Dauert das auch zu lange, ist dein DB Design optimierungsbedürftig. Mit einem Thread wird das aber definitiv nur eine Zugriffsfehlerhölle ohne Gleichen. Oder um deine Frage zu beantworten: Zitat:
|
AW: query.open in Threads
hatten wir das Thema nicht schon vor ein paar Tagen?
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz