AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Application bleibt stehen

Ein Thema von alfred · begonnen am 8. Jul 2004 · letzter Beitrag vom 9. Jul 2004
Antwort Antwort
alfred

Registriert seit: 17. Mai 2004
31 Beiträge
 
#1

Application bleibt stehen

  Alt 8. Jul 2004, 12:48
Hi Leute,

ich habe hier eine Sache, die schwer verständlich ist. Meine Anwendung greift von einem Client über Titan in einer Schleife auf eine BTrieve - DB auf einem Server zu. Titan ist hier nicht entscheidend. Das Problem tritt bei ADO genauso auf. Der vereinfachte Code sieht wie folgt aus :

AOrdeN.Close;
AOrdeN.SQL.Clear;
AOrdeN.SQL.Add('SELECT WBHO.ORDERNR, WBHO.VOLGORD, WBHO.DRRICHT, ORDE.ARTIKEL, ORDE.EINDART FROM WBHO, ORDE WHERE (WBHO.BONNUMM = :BON) AND (ORDE.ORDERNR = WBHO.ORDERNR) AND (ORDE.VOLGORD = WBHO.VOLGORD)');

while ScanDaten[ScanDatenZ,1] <> '' do
begin
AOrdeN.Close;
AOrdeN.ParamByName('BON').AsString:=BonNummer;
AOrdeN.prepared:=True;
AOrdeN.Open;
....... Code ............
AOrdeN.close;
inc(ScanDatenZ);
end;

Die Schleife wird nicht richtig durchlaufen. Das Programm bleibt irgendwann stehen und rührt sich nicht mehr. Nach Abbruch und Neustart läuft es wieder an und bleibt an einer anderen Stelle stehen. Vielleicht habe ich hier ein Ressourcen - Problem ? Hat jemand eine Ahnung nach was ich sehen könnte um dem Problem auf die Spur zu kommen ?
Technische Daten : Datei auf die das Statement läuft ca. 250.000 Sätze
Schleifenarray ca. 10.000 Elemente

Gruss alfred
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Application bleibt stehen

  Alt 8. Jul 2004, 12:58
Was erwartest du? Während dein Programm in der Schleife ist, wird es wohl nichts anderes mehr machen können. Entweder du lagerst das ganze in einen Thread aus oder du rufst in der Schleife Application.Processmessages auf, damit dein Fenster noch die anstehenden Nachrichten aus der Nachrichtenschlage abarbeitet.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Application bleibt stehen

  Alt 8. Jul 2004, 13:07
@alfred: Setze bitte mal die Delphi-Tags um Deinen Code
Wie das geht steht hier: http://www.delphipraxis.net/dpX_faq_...hp?faq=Q_9#Q_9

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
alfred

Registriert seit: 17. Mai 2004
31 Beiträge
 
#4

Re: Application bleibt stehen

  Alt 8. Jul 2004, 13:08
Hi Luckie,

eventuell habe ich das Problem nicht korrekt erläutert. Das Programm soll in der Schleife bleiben und diese abarbeiten. Es handelt sich hier um ein Übernahmeprogramm, das angestartet und irgendwann beendet wird. So lange es läuft, kommen von außen keine Benutzeraktionen. Zur Kontrolle, ob es ordnungsgemäß läuft, lasse ich mir in der Caption des Formulars den aktuellen Schlüsselwert ausgeben. Irgendwann bleibt der stehen und rührt sich nicht mehr. Daher die Aussage, dass die Application steht.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Application bleibt stehen

  Alt 8. Jul 2004, 13:09
Und genau deswegen sollst du in der Schleife Application.Processmessages aufrufen oder das ganze in einen Thread auslagern.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#6

Re: Application bleibt stehen

  Alt 8. Jul 2004, 19:00
Zitat:
Zur Kontrolle, ob es ordnungsgemäß läuft, lasse ich mir in der Caption des Formulars den aktuellen Schlüsselwert ausgeben. Irgendwann bleibt der stehen und rührt sich nicht mehr. Daher die Aussage, dass die Application steht.
dass heisst aber dann ja das der wert sich erst ma verändert, so würd ich ich das verstehen

Irgendwann bleibt er stehen.....

also verändert er sich vorerst

es könnte sein dasser in try an die grenzen eines ints kommt, oder?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
alfred

Registriert seit: 17. Mai 2004
31 Beiträge
 
#7

Re: Application bleibt stehen

  Alt 9. Jul 2004, 06:37
Hallo glkbkk,

das ist korrekt. Das Programm läuft an und der Schlüsselwert ändert sich mit. Irgendwann, wie gesagt alternierend, bleibt der Wert stehen und es tut sich nichts mehr. Ich habe gestern mal den Tipp von Luckie mit Application.Postmasseges versucht. Da erfolgt keinerlei Reaktion. Das mit dem separaten Thread werde ich auch noch mal versuchen, aber ich glaube, der Effekt wird der selbe sein. Wir haben gestern übrigens den Server neu gebootet, danach ist die Schleife durchlaufen worden. Das deutet alles auf meine erste Vermutung mit dem Ressourdenproblem hin. Ich habe nur keine Ahnung wie ich dem Problem auf die Schliche komme. Was soll am Server passieren wenn ich ein SELECT mit einer Antwortdatenmenge von einem Satz abschicke, auch wenn das vielleicht 10.000 mal passiert ?

Gruss alfred
  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 16:17 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