![]() |
Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
Zitat:
|
Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
Da ich aber die Ursache nicht kenne, habe ich ein Problem. Ich habe geschildert, wie ich auf welche DB zugreife und dann nach x Datensätzen zufügen die DB nicht mehr auf Append reagiert und das das bislang nur unter VISTA auftrat...
Was soll ich noch posten? Das ganze Projekt, was aber nur mit der zugehörigen DB laufen würde? Bernd. |
Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
Wie wäre es mit : 1x TADOConnection, 1xTADOTable, 1x Button
Im OnClick vom Button 31 Datensätze eintragen und den Fehler somit provozieren? Wenn das dann unter Vista funktioniert, liegt es nicht am 30x Einfügen (wovon ich ausgehe), sondern an einem der Effekte, die bei Dir sonst noch passieren. Dann ist es aber nicht notwendigerweise ein ADO (was verwendest Du) Problem, sondern vielleicht etwas von Deinem Code (das ist eher anzunehmen). Vista ist mit eingeschaltetem UAC übrigens sehr zickig. Das solltest Du testweise mal ausschalten und dann prüfen, ob der Fehler noch auftritt. Ich plädiere immer dafür, Fehler einzugrenzen, um Ursachen (wirklich 30+x mal Einfügen?) auszuschließen bzw. einzugrenzen. |
Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
Ach so meinst Du das. (Auf dem Schlauch stehend....)
Ich geb' ehrlich zu, dass ich die zugefügten Sätze nicht gezählt sondern geschätzt habe, weil ich mit dem Inhalt der Sätze beschäftigt war. Man sieht, dass Programm arbeitet bereits produktiv. Während der Arbeit wurde z.B. auch eine Abwesentheitspause eingelegt, in der das System in den Energiesparmodus ging (Rechner ist brandneu, frage bitte jetzt nicht, wie ich das eingestellt hatte - ich müsste nachschauen). Igendwann an diesem Tage trat dann der Fehler auf und an einem weiteren Tage nochmal, seitdem nicht wieder, habe aber auch nicht mehr soviel Sätze zufügen müssen. Ich glaube auch nicht, dass es nur am System liegt, es werden sicher mehrere Einflüsse sein. Da ich jetzt laufend unterwegs war, und wie weiter oben geschildert, der Rechner nicht hier bei mir steht, werde ich weiter beobachten und dann berichten. Vielleicht kann ich dann wenigstens jemanden mit gleichem Problem helfen. Bernd. |
Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
So, wie angekündigt habe ich getestet (mit überraschendem Ergebnis):
Die Unmöglichkeit, einen Datensatz zuzufügen, ist unabhängig von der Laufzeit des Programmes! Nur unter Vista! Heute konnte ich gleich nach dem Programmstart keinen DS zufügen, nach Neustart ohne Probleme beliebig viele! Hier die (einzige) Stelle, an der zugefügt wird:
Delphi-Quellcode:
Ich hoffe, dass der Sinn deutlich wird. Wie gesagt unter XP keine Probleme (gleiche DB). Oder nein, unter VISTA wird MS-SQL 2005 SP2 verwendet, unter XP ohne Servicepack).
procedure TObjektBrowser.BtnObjNeuClick(Sender: TObject);
var ok1,ok2 : boolean; nNR : string; begin with DM do //Unit des Datenmodules begin Filter_off; //Dataset-Filter ausschalten ok1:=false;ok2:=false; nNR:=NextNumber; //Objektnummer nach Jahr sortiert wird erzeugt DSObj.Append; //DS zufügen DSObjDatum.AsDateTime:=date; //erste Angaben in den Satz DSObjObjNr.AsString:=nNR; DSAdr.First; //Adresse zum Objekt zuordnen if AdrWahl.ShowModal=mrOk then begin DSObjAdr.AsInteger:=DSAdrIdAdresse.AsInteger; //hier Adressen aussuchen und zuordnen DSAdr.Filtered:=false; ok1:=true end; DSKund.First; //ein Kunde zum Objekt zuordnen if ok1 and (KundWahl.ShowModal=mrOk) then begin DSObjVerk.AsInteger:=DSKundidKunde.AsInteger; DSKund.Filtered:=false; ok2:=true end; if ok1 and ok2 then begin DSNr.Edit;DSNrNR.AsString:=nNR;DSNr.Post; //jetzt Nummer festschreiben Verzeichnis_anlegen(defObjDir+'\'+nNr+'\Fotos'); DSObj.Post; Main.SendRefresh; //anderen Rechnern die Veränderung in der DB über UTP anzeigen end else DSObj.Cancel; UpdateObjektDaten; //hier werden Verzeichnisse eingestellt, Daten gelesen usw. DSObj.Last //zum weiteren Editieren wird der neue Satz aktuell gemacht end; end; Wisst Ihr noch, wo der Fehler stecken könnte? Bernd. |
Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
Gibt es Abhängigkeiten zwischen den Datensätzen? Wird in den dazwischen aufgerufenen modalen Dialogen DSObj verändert?
Es ist besser, das Du alle Auswahldialoge VOR dem Schreiben/Anhängen des Datensatzes vornimmst.
Delphi-Quellcode:
Sieht doch besser aus, oder? :gruebel:
Procedure TForm1.ButtonNeuClick(Sender : TObject);
Begin If SammleDaten (WeitereDaten) = OK Then Begin Daten.Append; Try DatenSetzen(WeitereDaten); Daten.Post; Except On E:Exception Do Begin Daten.Cancel; Raise Exception.CreateFmt('Datensatz konnte nicht eingefügt werden: %s',[E.Message]); End End End End; Edit: Aber so auf den ersten Blick finde ich keinen Fehler. Ich vermute mal, das der Fehler verschwindet, wenn Du das so implementierst, wie ich. Denn....: Vista hat kein MDAC mehr, sondern WinDAC, das soll das Gleiche sein, ist aber nicht das Selbe. :zwinker: Vielleicht ist da ein kleiner Bug drinne... |
Re: Fehler beim Scrollen in einer ADO-Table unter VISTA
Hallo alzaimar,
erstmal Danke für Deine Mühe. Zitat:
Zitat:
Bernd. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 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