Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Fehler beim Scrollen in einer ADO-Table unter VISTA (https://www.delphipraxis.net/122697-fehler-beim-scrollen-einer-ado-table-unter-vista.html)

aladin60 20. Okt 2008 19:28

Datenbank: MS-SQL Express • Version: 2005 SP2 • Zugriff über: ADO

Fehler beim Scrollen in einer ADO-Table unter VISTA
 
Heute muss ich mich an Euch Wissende wenden, da ich nicht so recht weiterkomme.

Programmiert habe ich ein Programm, welches 5 SQL-Tabellen verarbeitet, auf die mit ADO-Dataset über ADO-Connection zugegriffen wird. Es funktioniert auch alles, wie es soll - oder doch nicht? Entwicklungsrechner ist ein Core 2 Duo mit XP-Prof, Turbo Express 2006. Dort läuft alles prima!

Nehme ich nun das Programm auf einen Vierkerner mit Vista und scrolle rasch mit der Maus durch die Haupttabelle, erhalte ich den (Betriebssystem)-Fehler: "Die angeforderte Ressource wird bereits verwendet." Scrollt man langsam, kommt der Fehler nicht. Bewegt man sich mit den Pfeiltasten seitenweise funktioniert alles prima. Es werden beim Wechsel des aktuellen Satzes allerhand Daten analysiert, es werden Verzeichinisse gelesen und (lokale) Websites geladen.

Woher kommt der Fehler? Muss ich nun die Programmiersprache erst noch auf einen Vista-Rechner bringen, um der Ursache auf die Schliche zu kommen? Oder wisst Ihr Rat? Woran könnte es liegen, welche Ressource könnte nicht bereit sein? :?:

Bernd.

Bernhard Geyer 20. Okt 2008 21:34

Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
 
Welche Curserlocation verwendest du für deine Datasets?
Binde mal Testhalber die Anwendung an einen Prozessorkern.

aladin60 21. Okt 2008 21:01

Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
 
Sorry, komme erst jetzt dazu, zu antworten....

Verwendet wird "clUseServer". Habe probehalber mal einen try except block um all die nach dem Datensatzwechsel durchzuführenden Aktionen gemacht. Die Fehlermeldung taucht nunmehr nicht mehr auf, aber so richtig bin ich nicht zufrieden, nicht zu wissen, was...

Wie binde ich an einen Kern?

Bernd.

Bernhard Geyer 21. Okt 2008 21:11

Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
 
Der Funktionsname müsste irgendwas mit SetThreadAffinity sein.
Und probier mal clUseClient.

aladin60 21. Okt 2008 21:28

Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
 
Ich teste mal und melde mich morgen wieder. Danke erst mal.

Bernd.

aladin60 26. Okt 2008 00:30

Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
 
...probiert, gleiches Ergebnis.

Wer hat noch einen Tipp?

Bernd.

alzaimar 26. Okt 2008 07:05

Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
 
Wenn Du alle Aktionen beim Datensatzwechsel auskommentierst, tritt der Fehler nicht auf?

Ich mache Folgendes:
1. Ein Timer auf die Form. Enabled := False, Interval: 50ms
2. Das OnTimer-Ereignis führt Folgendes aus:
Delphi-Quellcode:
Procedure TForm1.MyTimerTimer (Sender : TObject);
Begin
  If MyTimer.Tag = 1 Then Exit;
  MyTimer.Enabled := False;
  Try
    <Hier alle Aktionen beim Datensatzwechsel
  Finally
     MyTimer.Tag := 0;
  End
End;
3. Beim Datensatzwechsel wird nur der MyTimer angeschaltet.

Das hat den Vorteil, das man schneller scrollen kann. Erst wenn man loslässt, werden für den einen Datensatz (den gerade aktuellen), die Aktionen ausgeführt.

aladin60 26. Okt 2008 13:40

Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
 
Danke erst mal für die Tipps.

Die Lösung würde auch gehen, man müsste dann die 'Tag'-Variable jedoch auch schalten, wenn ein Satz zur Bearbeitung ansteht bzw. der Satz lange genug aktuell ist.

Noch etwas ist mir aufgefallen unter VISTA, was ich unter XP noch nicht hatte. Nach dem Zufügen von x-Datensätzen (vielleicht 30, ich muss mal zählen und auf Wiederholung testen), ist es irgendwann nicht mehr möglich, einen neuen Satz zuzufügen. Es passiert einfach nichts mehr. Auch ein Beenden der Verbindung hilft nicht weiter, erst nach dem Neustart des Programmes kann man wieder Sätze zufügen. Dieses Problem ist bei allen Tabellen da, sollte also nichts mit den inzwischen durchgeführten Aktionen zu tun haben...

Blöde Sache, denn sonst läuft die Datenbankanwendung sehr gut.

Bernd.

alzaimar 26. Okt 2008 15:36

Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
 
Zitat:

Zitat von aladin60
man müsste dann die 'Tag'-Variable jedoch auch schalten

Wieso? Der Timer wird doch sofort ausgeschaltet.
Zitat:

Zitat von aladin60
Noch etwas ist mir aufgefallen unter VISTA,... Nach dem Zufügen von x-Datensätzen ... ist es irgendwann nicht mehr möglich, einen neuen Satz zuzufügen.

Das kenne ich nicht. Beispielprojekt?

aladin60 26. Okt 2008 16:24

Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
 
Ja, Du hast Recht. Der Timer wird abgeschaltet.

Wie ich ein Beispielprojekt in der Größe hier posten soll...???

Bernd.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:47 Uhr.
Seite 1 von 2  1 2      

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