AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi AfterScroll wird vorzeitig verlassen
Thema durchsuchen
Ansicht
Themen-Optionen

AfterScroll wird vorzeitig verlassen

Ein Thema von Yadon · begonnen am 14. Mär 2004 · letzter Beitrag vom 18. Mär 2004
Antwort Antwort
Yadon

Registriert seit: 13. Feb 2004
110 Beiträge
 
Delphi 5 Enterprise
 
#1

AfterScroll wird vorzeitig verlassen

  Alt 14. Mär 2004, 00:08
Hallo, DP,

bis jetzt hat alleine das eifrige Studieren der Beiträge mir stets weitergeholfen, aber jetzt weiß ich nicht weiter.

Ich programmiere meist DB-Anwendungen, aber diesmal (DB für eine kleinere Bib-liothek) geschieht das Unmögliche. Nach einem Autorenwechsel wird ein Afterscroll durchgeführt, die ersten Befehle werden noch abgearbeitet, aber dann springt das Programm völlig unmotiviert in ein OnChange-Ereignis für das Editfeld des zum Au-toren gehörenden Buches, arbeitet die Routine vollständig ab, um dann – was aber nur selten möglich ist, in die AfterScroll-Routine zurückzukehren, und die letzten beiden Befehle auszuführen. Meist kommt es aber nicht soweit, da in der Edit-OnChange-Routine sich das Programm heillos aufhängt, was auch in Ordnung ist, weil eine Tabelle nicht aktiv ist, hätte ja auf den letzten beiden Zeilen vom AfterScroll passieren soll.

So etwas ist mir noch nie passiert, ich habe nun anderthalb Tage versucht, mit allen möglich Tricks versucht, diese Macke auszugleichen, aber irgendwas stimmt dann immer nicht. Das Programm soll bitte einfach nur die AfterScroll-Routine durchlaufen, schließlich ist kein Sprungbefehl vorgesehen. – Weiß jemand Rat?

Danke im voraus

Yadon
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#2

Re: AfterScroll wird vorzeitig verlassen

  Alt 14. Mär 2004, 13:19
Hallo Yadon,

was für Dich völlig unmotiviert aussieht hägt wohl mehr mit inkompatibler Logik zwischen Dir als Programmierer und Delphi als Programm zusammen. Du hast leider AfterScroll nicht veröffentlicht, aber ich bin auch schon auf so etwas reingefallen. Mit mühsamen Durchtippen mit F7 solltest Du aber die Stelle finden, an der Dein Programm nicht das macht, was Du glaubst, das es machen sollte.
Irgendwo steckt ein Befehl, der die von Dir erwartete lineare Abarbeitung unterbricht, irgendwo hinspringt und von dort dann wieder AfterScroll auslöst (oder so ähnlich).

Also empfehle ich Dir einen Haltepunkt an den Anfang und Ende von AfterScroll zu setzen und dann mit F7 und F8 die Stelle eingrenzen, an der sich Dein Programm selbst in den Hintern beißt.

mfg
eddy
  Mit Zitat antworten Zitat
Yadon

Registriert seit: 13. Feb 2004
110 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: AfterScroll wird vorzeitig verlassen

  Alt 14. Mär 2004, 17:14
Hi Eddy,

die Antwort war nicht sonderlich hilfreich, denn ich hatte es als selbstverständlich angesehen, daß man erst mal mit F7 durch die Routinen läuft, ehe man andere belästigt.

Hier die Befehlsfolge, die im übrigen beim ersten Autorenwechsel einwandfrei durchlaufen wird, und danach dann nie wieder, weil Delphi immer nach dem Active := False davonhüpft und est, wenn alles verhackt ist, zurückkommt.
Delphi-Quellcode:
procedure T.qAutorAfterScroll(DataSet: TDataSet);
begin
   with qryTitlebyAutor do
   begin
      Active := False;
      Parameters.Items[0].Value := qAutorAID.Value;
      Active := True;
   end;
end;

Ich komme jedenfalls nicht weiter, auch das Anmeckern desjenigen, für den das PRogramm bestimmt ist, hat nicht geholfen. das übrigens auch nicht.
Ist mir in fünf Jahren noch nicht passiert, also wurde es wohl Zeit. Aber meine Kenntnisse und Einfälle sind nun erschöpft.

Yadon
  Mit Zitat antworten Zitat
Yadon

Registriert seit: 13. Feb 2004
110 Beiträge
 
Delphi 5 Enterprise
 
#4

Re: AfterScroll wird vorzeitig verlassen

  Alt 16. Mär 2004, 02:06
Ich versuch's einfach nochmal: kann keiner helfen, ich komme überhaupt nicht weiter.
MFG
Yadon
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: AfterScroll wird vorzeitig verlassen

  Alt 16. Mär 2004, 07:36
Zitat von Yadon:
...
Delphi-Quellcode:
procedure T.qAutorAfterScroll(DataSet: TDataSet);
begin
   with qryTitlebyAutor do
   begin
      Active := False;
      Parameters.Items[0].Value := qAutorAID.Value;
      Active := True;
   end;
end;
...
Hai Yadon,
hast Du auf deiner Form ein (DB)-Edit welches mit der DataSet qryTitlebyAutor verbunden ist und ein OnChange hat?
Wenn ja wird dieses natürlich ausgeführt sobald Du deine Tabelle auf Activ=False setzt. Dann ändert sich nämlich der Inhalt des Editfeldes (es wird leer).
Versuche doch einfach mal das OnChange vor dem Scrollen zu daktivieren und es danach wieder zu aktivieren.

Delphi-Quellcode:
procedure T.qAutorBeforScroll(DataSet: TDataSet);
begin
  DBEdit1.OnChange := nil;
End;

procedure T.qAutorAfterScroll(DataSet: TDataSet);
begin
  with qryTitlebyAutor do
  begin
    Active := False;
    Parameters.Items[0].Value := qAutorAID.Value;
    Active := True;
  end;
  DBEdit1.OnChange := MyOnChageEvent;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Yadon

Registriert seit: 13. Feb 2004
110 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: AfterScroll wird vorzeitig verlassen

  Alt 17. Mär 2004, 21:24
Danke, Sharky,

da habe ich heute etwas neues gelernt - das war bei all den anderen Programmen kein Problem; ich wußte einfach nicht, daß die beiden Dinge - Active := False und die Änderung des Edit-Feldes an dieser Stelle schon zusammenhängen.
Blöd, ich weiß, als ich es las, war es mir sofort klar, und trotzdem bin ich nicht drauf gekommen.

Danke, tat gut, nach zwei Tagen Krankenhaus, nun kann ich freudig weiterprogrammieren.

und ein freundliches "blubb blubb"

Yadon
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: AfterScroll wird vorzeitig verlassen

  Alt 18. Mär 2004, 06:24
Hallo Yadon,

Du kannst es ja auch mit DisableControls versuchen

bye
  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 08:47 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