AGB  ·  Datenschutz  ·  Impressum  







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

Programm stürzt beim abbrechen ab

Ein Thema von knolli · begonnen am 18. Apr 2008 · letzter Beitrag vom 23. Apr 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von knolli
knolli

Registriert seit: 22. Sep 2006
Ort: Zittau
83 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Programm stürzt beim abbrechen ab

  Alt 18. Apr 2008, 20:40
oh danke! das funzt..
mfg Knolli auch bekannt als Meister Lampe
  Mit Zitat antworten Zitat
Benutzerbild von knolli
knolli

Registriert seit: 22. Sep 2006
Ort: Zittau
83 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Programm stürzt beim abbrechen ab

  Alt 18. Apr 2008, 21:20
so jetzt hab ich aber immernoch das problem das mein programm abstürzt...

ich poste mal meinen code:

Code entfernt


[edit=Matze]Code, wie knolli es wollte, entfernt. Eine kürzere Version wird folgen. MfG, Matze[/edit]
Angehängte Dateien
Dateityp: zip projekt_139.zip (590,8 KB, 6x aufgerufen)
mfg Knolli auch bekannt als Meister Lampe
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Programm stürzt beim abbrechen ab

  Alt 22. Apr 2008, 08:40
Vielleicht kannst Du ja sagen, mit welcher Meldung das Programm abstürzt.
Oder bleibt es nur "hängen"?
Wenn es zu hängen scheint, hast Du in Deinen (langen) Schleifen
application.processMessages verwendet?

Wenn es abstürzen sollte, kannst Du ungefähr eingrenzen
wann das passiert. Hast Du schon einmal Haltepunkte
in Deinen Code eingefügt.
Damit kannst Du dirch zu der Stelle vortasten wo es denn knallt.
F7 und F8 um Dein Programm schrittweise abzuarbeiten sind da acuh recht hilfreich.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Programm stürzt beim abbrechen ab

  Alt 22. Apr 2008, 08:48
Schön, dass du uns jetzt hier über 760 Zeilen Code gepostet hat. Meinst du nicht auch, es wäre sinnvoller nur die relevanten Routinen zu posten, anstatt alles? Und uns zu sagen, wo das Problem auftritt?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von knolli
knolli

Registriert seit: 22. Sep 2006
Ort: Zittau
83 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Programm stürzt beim abbrechen ab

  Alt 22. Apr 2008, 16:43
Ok hier ha ich nochmal den code:

Delphi-Quellcode:
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~ Wörter filtern ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
procedure TWortsuche.Filtern(Sender: TObject);
var
  iLauf:integer;
begin
  For iLauf:=0 to Listbox_Seitenwoerter.Items.Count-1 do
    Begin
      IF Sperrliste.ListBox1.Items.IndexOf(ListBox_Seitenwoerter.Items[iLauf])< 0 then
      begin
        IF LENGTH(Listbox_Seitenwoerter.Items[iLauf])>1 then
        begin
        ListBox_NichtSperrliste.Items.Add(ListBox_Seitenwoerter.Items[iLauf]);
        Listbox_NichtSperrliste.Refresh;
        end;//if
      end;//if
    end;//for
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~ Wörter doppelte zählen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
procedure TWortsuche.Zaehlen(Sender: TObject);
var i,iZahler:integer;
    sString:string;
begin
  while ListBox_NichtSperrliste.Items.Count<>0 do
  begin
    sString:=ListBox_NichtSperrliste.Items[0];
    iZahler:=0;
    i:=0;
    while i<=ListBox_NichtSperrliste.Items.Count-1 do
    begin
      If ListBox_NichtSperrliste.Items[i] = sString then inc(iZahler);
      inc(i);
    end;//while2
    For i:=1 to iZahler do
    begin
      If ListBox_NichtSperrliste.Items[0] = sString then ListBox_NichtSperrliste.Items.Delete(0);
    end;//for
    ListBox_Gefiltert.Items.Add(sString);
    ListBox_Anz.Items.Add(intToStr(iZahler));
  end;//while1
end;
das sind die beiden proceduren, die nach dem abbrechen noch durchlaufen werden sollen.
Sie werden einfach auf OnClick aufgerufen.
Immer wenn ich mein programm etwas länger laufen lasse( so ca 30 sek.), dann hängt es in den beiden ewig lange...

hatte schonmal bei 60 sek laufzeit 30 Minuten laufen lassen ohne das was passiert ist...
mfg Knolli auch bekannt als Meister Lampe
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Programm stürzt beim abbrechen ab

  Alt 22. Apr 2008, 18:59
.. einiges gelöscht, da es nicht zielführend war.

Delphi-Quellcode:
procedure TWortsuche.Filtern(Sender: TObject);
var
  iLauf:integer;
begin
  ListBox_NichtSperrListe.items.BeginUpdate;
  For iLauf:=0 to Listbox_Seitenwoerter.Items.Count-1 do
    Begin
      if i mod 20 = 0 then
        application.processMessages;
      IF Sperrliste.ListBox1.Items.IndexOf(ListBox_Seitenwoerter.Items[iLauf])< 0 then
      begin
        IF LENGTH(Listbox_Seitenwoerter.Items[iLauf])>1 then
          begin
            ListBox_NichtSperrliste.Items.Add(ListBox_Seitenwoerter.Items[iLauf]);
            Listbox_NichtSperrliste.Refresh;
          end;//if
      end;//if
    end;//for
  ListBox_NichtSperrListe.items.EndUpdate;
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von knolli
knolli

Registriert seit: 22. Sep 2006
Ort: Zittau
83 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Programm stürzt beim abbrechen ab

  Alt 22. Apr 2008, 20:57
ähm...
was wird damit if i mod 20 = 0 then bezweckt?
mfg Knolli auch bekannt als Meister Lampe
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#18

Re: Programm stürzt beim abbrechen ab

  Alt 22. Apr 2008, 21:03
Zitat von knolli:
ähm... :?:
was wird damit if i mod 20 = 0 then bezweckt? :gruebel:
Das wenn i durch 20 ganzzahling teilbar ist ein application.processMessages ausgeführt wird.

Wenn Du lange Schleifen abarbeitest, ich es sinnvoll an und ab ein application.processMessages
aufzurufen. Ansonsten erscheint die Applikation so als ob sie eingeschlafen sei.

Dann bin ich nochmal in mich gegangen und habe
einen kleine Testfall für das zählen der Worte(häufigkeit) erstellt.
Du musst ihn nur noch Deinen Begebenheiten anpassen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i : Byte;
  zaehler: Byte;
  s:String;
begin
  ListBox1.Items.BeginUpdate;
  ListBox1.Sorted:=true;

  while ListBox1.Count > 0 do
    begin
      zaehler :=0;

      s:= ListBox1.Items[ListBox1.Items.Count-1];
      for i:=ListBox1.Items.Count-1 downto 0 do
        if ListBox1.Items[i] = s then
          begin
            application.processMessages;
            inc(zaehler);
            ListBox1.Items.Delete(i);
          end;

      Memo1.lines.add(format('%d %s',[zaehler,s]));
    end;
  ListBox1.Items.EndUpdate;
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#19

Re: Programm stürzt beim abbrechen ab

  Alt 22. Apr 2008, 22:53
Zitat von Klaus01:
Zitat von knolli:
ähm...
was wird damit if i mod 20 = 0 then bezweckt?
Das wenn i durch 20 ganzzahling teilbar ist ein application.processMessages ausgeführt wird.
Dass i bei dir iLauf heißt, hat Delphi dir sicher schon gesagt.
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
Benutzerbild von knolli
knolli

Registriert seit: 22. Sep 2006
Ort: Zittau
83 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: Programm stürzt beim abbrechen ab

  Alt 23. Apr 2008, 13:07
Zitat von everdream:

Dass i bei dir iLauf heißt, hat Delphi dir sicher schon gesagt.
das i bei mir iLauf ist weiß ich selber... ich wollte nur wissen, warum da geteilt wird...
jetz weiß ichs ja.
mfg Knolli auch bekannt als Meister Lampe
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 14:53 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