Progressbar

Advantage Database Server

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Progressbar

Beitrag von Manfred »

Hi,
der User will/muß was sehen, damit er nicht auf dumme Gedanken kommt. Im Indexaufbau habe ich einen Progressbar untergebracht, wobei sich das jetzt mit dem ADS erledigt hat. Der feudelt da so schnell durch, das man es eh nicht bemerkt. Aber wie sieht es mit komplexeren SQL Befehlen aus? in Xbase++ habe ich ja die ABläufe in der Hand und kann dementsprechend Laufbalken erzeugen und anzeigen, damit der User nicht denkt das Programm würde nichts mehr tun um dann irgendeine Panikreaktion zu generien. Kann man mit SQl Befehlen, die ja eigentlich auf dem Server ausgeführt werden, auch Laufbalken erzeugen, die Informationen über den Ablauf und dem aktuellen Fortschritt anzeigen? Oder wie macht ihr das?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Progressbar

Beitrag von Marcus Herz »

Theoretisch hat Postgres sogar eine solchen Callback. Hab ich aber noch nie ausprobiert,
Ich setz einfach den Mauszeiger auf Sanduhr, das reicht in der Regel, was mehr als 5 Sek. in einem interaktiven Fenster dauert, sollte man überdenken...
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Progressbar

Beitrag von UliTs »

ich habe mich damit schon einmal viele Stunden beschäftigt, habe es aber nicht hinbekommen. Auch das Abbrechen eines zu lang laufenden SQL Statements hat nicht geklappt. :(
Alternativvorschlag: dafür unter xBase einen Thread mit eigener Connection aufmachen und darüber eventuell einen Abbruch über disconnect() realisieren.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Progressbar

Beitrag von Manfred »

die Frage wäre aber, ob der SQL Server sich von einem Abbruch beeindrucken läßt und im Hintergrund trotzdem weiter macht?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Progressbar

Beitrag von UliTs »

Wenn man die Connection ordnungsgemäß schließt, kann ich mir das nicht vorstellen.
Kannst Du das mal ausprobieren?
Uli

Edit: sorry, habe momentan kaum Zeit. Schade :-) . Ich würde gern da mehr mit Dir zusammenarbeiten :) .
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Progressbar

Beitrag von nightcrawler »

Du kannst im ADS bei jeder Aktion eine Callback-Methode hinterlegen, auch bei SQL Abfragen. Dieser wird so ca alle 2 Sekunden aufgerufen - und je nach Rückgabewert damit die Aktion auch abbrechen.

AdsRegisterCallbackFunction101 heisst das Zauberwort.

Beispiele - allerdings in Delphi - https://www.jd-engineering.de/query-pro ... th-delphi/ und https://www.jd-engineering.de/enhance-t ... -callback/
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Progressbar

Beitrag von Tom »

Ich mache es mir zuweilen mit einem Marquee-Progressbar bequem. Der wird vorher gestartet und hinterher beendet, und da er animiert ist, hat der Benutzer das Gefühl, dass was passiert. Mehr ist häufig sowieso ein Zuviel an Informationen. 8)
Herzlich,
Tom
Antworten