Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Seltsames Verhalten der IDE (https://www.delphipraxis.net/48090-seltsames-verhalten-der-ide.html)

andimx 20. Jun 2005 15:53


Seltsames Verhalten der IDE
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

Ich hab folgendes Problem. Ich entwickle derzeit ein aufwendiges Management System und benutze Delphi für die GUI. Urplötzlich stürzt mein Programm jetzt ab und zwar genau an der Stelle vom "begin" gibt es ein STACK Overflow - es wurde nix geändert noch was neues hinzugefügt. Nur tritt jetzt der Fehler aufeinmal auf. Hatte schon öfters Probleme mit der Delphi IDE, z.B. das ein bestimmtes Handle nicht mehr gültig war obwohl es da war und auch sichtbar und nach dem Neustart lief alles perfekt...

Hat jemand schon so etwas ähnliches erlebt, was kann man dagegen machen??

Siehe Screenshot für mehr Details.

Gruss,

Andi

TeronG 20. Jun 2005 15:57

Re: Seltsames Verhalten der IDE
 
Jaja .. mein D7 kackt auch manchmal* ab .. hilft dann nur Neustart



*z.z. sehr selten war aber schon mal öfter ... evtl. saison abhängig .. :gruebel:

andimx 20. Jun 2005 16:04

Re: Seltsames Verhalten der IDE
 
werd verrückt, hab das problem gefunden:

habe eine CASE .. OF schleife und nehm ich ein bestimmten teil raus, läuft alles...
allerdings befindet sich in diesem CASE..OF eine weitere CASE..OF schleife, das sollte doch nicht zum problem werden oder????

_Sebastian_ 20. Jun 2005 16:08

Re: Seltsames Verhalten der IDE
 
Code von deinem Screenshot:
Delphi-Quellcode:
while _LOCKED do ;
_LOCKED := TRUE;
Ich weiss zwar nicht warum du hinter dem "do" ein ; hast und ob das überhaupt zulässig ist?! aber dennoch sieht das ganze nach einer schönen endlosschleife aus und der Stack Overflow ist damit durchaus berechtigt! :)

andimx 20. Jun 2005 16:09

Re: Seltsames Verhalten der IDE
 
das gibts nicht!!!! selbst bei einer IF-Schleife stürzt das ding an der besagten stelle ab!

nur wenn ich explizit keinen weiteren case..of selector benenne, dann funzt es und ich hab gerade mal eine case..of schleife mit 4 selektoren , damit sollte delphi doch umgehen können!!!!!!!

andimx 20. Jun 2005 16:10

Re: Seltsames Verhalten der IDE
 
@_Sebastian_:

Das _LOCKED war nur dafür gedacht, gegebenfalls einen Thread Overrun zu blockieren. Auch wenn das nicht da ist, kommt der Fehler.

Speedmaster 20. Jun 2005 16:16

Re: Seltsames Verhalten der IDE
 
Zitat:

Zitat von andimx
werd verrückt, hab das problem gefunden:

habe eine CASE .. OF schleife und nehm ich ein bestimmten teil raus, läuft alles...
allerdings befindet sich in diesem CASE..OF eine weitere CASE..OF schleife, das sollte doch nicht zum problem werden oder????

Obwohl ich es nicht beurteilen kann, vielleicht gibt es Probleme mit dem Jumptable, versuch mal die andere Case Anweisung in eine Eigene Funktion zu Packen!

FAlter 20. Jun 2005 16:17

Re: Seltsames Verhalten der IDE
 
Kuck mal ins CPU-Fenster ;) Steht da enter oder push oder ein anderer Zugriff auf den Stack, wo die Exception auftritt?

Soweit ich weiß, werden manche lokalen Variablen im Stack gespeichert, also bei

Delphi-Quellcode:
procedure xyz;
var
  beispiel: Integer;
begin
  ...
end;
Wird Beispiel auf dem Stack realisiert. Das Reservieren des Speicherplatzes dafür liegt im Code der proc, noch vor der ersten Anweisung. Für den Debugger wird es nun genauso realisiert: Vor der ersten Anweisung tritt ein Stacküberlauf, also beim begin. Wenn du also noch dazu eine rekursive proc oder function hast, dann ist ein Stacküberlauf tatsächlich denkbar. Hat es auch andere Symptome eines Stacküberlaufes?

Delphi-Quellcode:
while _LOCKED do ;
Wenn locked true ist, dann ist das eine Endlosschleife. Dürfte jedoch nicht zu einem Stacküberlauf kommen, dondern eben endloch gar nichts tun. Das ist übrigens zulässig. Ich glaube, sorgar
Delphi-Quellcode:
;;;
ist zulässig, im Pascal von Wirth wars das noch nicht :D

PS: Was ist eine case-of-Schleife? und eine if-Schleife? :gruebel:

andimx 20. Jun 2005 16:26

Re: Seltsames Verhalten der IDE
 
ok ich hab den Fehler:

Eine Struktur wird bei mir zu groß !!!!!!!

und zwar rechne ich folgendes:

Delphi-Quellcode:
const
  NB_SIZEX = 1024;
  NB_SIZEY = 768;

type
  NETICON_ARRAY = packed record
   R, G, B: Byte
  end;

  NETBITMAP = Array[0..(NB_SIZEX*NB_SIZEY*SIZEOF(NETICON_ARRAY))-1] of byte;
Mich wunderts aber, das er schon vorher abbricht, BEVOR er ÜBERHAUPT zu dieser funktion kommt um das Array zu lesen....

Jetzt muss ich mir was neues überlegen wie ich schnell und einfach ein Bitmap im Netzwerk übertragen kann...


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:20 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