AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Bearbeitung von Datensätzen in Thread auslagern
Thema durchsuchen
Ansicht
Themen-Optionen

Bearbeitung von Datensätzen in Thread auslagern

Ein Thema von barnti · begonnen am 29. Okt 2004 · letzter Beitrag vom 29. Okt 2004
Antwort Antwort
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

Bearbeitung von Datensätzen in Thread auslagern

  Alt 29. Okt 2004, 12:40
Hallo,

der Benutzer meiner Anwendung hat die Möglichkeit eine oder mehrere Zeilen im DBGrid zu markieren.
Durch eine Auswahl im Kontextmenü können die Datensätze bearbeitet werden.

Ich möchte diese Bearbeitung in einem Thread ausführen lassen, so dass der Benutzer sofort weiter mit dem DBGrid arbeiten kann.
Ist der Thread abgeschlossen, sollen die Veränderung wieder angezeigt werden.

Mein Problem: Übergebe ich dem Thread das DBGrid, das zugehörige Dataset oder eine der für die Darstellung benötigte Komponenten, so sind diese während der Laufzeit des Threads in der Anwendung nicht zugänglich. Womit ich ja wieder das selbe Probelem habe, dass die Bearbeitung nicht wirklich im Hintergrund ausgeführt wird.

Wie kann ich erreichen das die Bearbeitung der markierten Datensätze in einem eigenen Thread läuft, so dass der Anwender weiter arbeiten kann?
Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Bearbeitung von Datensätzen in Thread auslagern

  Alt 29. Okt 2004, 12:53
Hallo,

du könntest dem Thread nur die Werte der PrimaryKey Spalte übergeben.
Dann im Thread eine eigene Query erstellen und nach dem Ende des Threads die Originalquery refreshen.
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Bearbeitung von Datensätzen in Thread auslagern

  Alt 29. Okt 2004, 13:14
Zitat von barnti:
...Wie kann ich erreichen das die Bearbeitung der markierten Datensätze in einem eigenen Thread läuft, so dass der Anwender weiter arbeiten kann?
Hai barnti,

ist das denn sinvoll? Dadurch bekommst Du ja die Situation das die Werte die im Grid angezeigt werden nicht mehr mit denen in der Tabelle übereinstimmen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Bearbeitung von Datensätzen in Thread auslagern

  Alt 29. Okt 2004, 13:17
Hallo
Das Problem ist der folgende Aufruf:
Delphi-Quellcode:
...
 for i:=1 to FGrid.SelectedRows.Count-1 do begin
        FGrid.Datasource.Dataset.GotoBookmark(pointer(FGrid.SelectedRows.Items[i]));
...
Ich iterieren über die markierten Zeilen. Dieser Vorgang kostet am meisten Zeit. Deshalb
wollte ich das ganze separat erledigen. Im Moment veranschlagt der Thread aber die gleichen Ressourcen wie die zur Anzeige benötigten Komponenten...
Daher müssteich irgendwie auf einer Kopie arbeiten!?
Kann jemand helfen?
Gruß,

Barnti
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Bearbeitung von Datensätzen in Thread auslagern

  Alt 29. Okt 2004, 13:20
Hallo Sharky,

das ist nicht wichtig, denn es handelt sich um zusätzliche Informationen, die den internen Status einzelner Daten wieder spiegeln.
Deshalb ist eine Bearbeitung im Hintergrung durchaus sinnvoll.
By the way: Es nervt einfach auf die Abarbeitung zu warten ohne weiterarbeiten zu können.
Gruß,

Barnti
  Mit Zitat antworten Zitat
Antwort Antwort


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:43 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