Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Exeption bei m:=inttostr(integer(mm)) (https://www.delphipraxis.net/129298-exeption-bei-m-%3Dinttostr-integer-mm.html)

Teekeks 16. Feb 2009 19:27

Re: Mysteriöses Problem bei procedure
 
Danke für den Link. Soviele funktionen kannte ich noch nicht vom Debugger.
Also: es gibt in diesem Befehl (fürs debuggen n bissl anders Formatiert):
Delphi-Quellcode:
      Listbox1.Items.Add(
      AllEvents[i].Title+
      deli+
      DateAsString(
      AllEvents[i].Date,'.')+
      ' '+
      InXDays(
      AllEvents[i].Date));
      deli:='';
Bei
Delphi-Quellcode:
     DateAsString(AllEvents[i].Date,'.')
eine Fehlermeldung die da lautet:"Project raised exeption class 'External: SIGSEGV'."

DP-Maintenance 16. Feb 2009 20:32

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage

nuclearping 17. Feb 2009 07:45

Re: Mysteriöses Problem bei procedure
 
Wenn du tatsächlich ne externe Exception SIGSEGV bekommst, dann scheint dein Problem anderer Natur zu sein. http://en.wikipedia.org/wiki/SIGSEGV

Statt DateAsString(AllEvents[i].Date,'.') in den Parametern direkt zu verwenden, erstelle eine Hilfsvariable, der du den Wert zuweist. Setze da einen Breakpoint drauf und steppe da mit F7 bzw. F8 durch.

Blup 17. Feb 2009 08:49

Re: Mysteriöses Problem bei procedure
 
Wahrscheinlich wurden an anderer Stelle, durch Zugriffe auf ungültige Adressen, Daten des Speichermanagers zerschossen.
Unabhängig davon seh ich hier ein mögliches Speicherleck:
Delphi-Quellcode:
Feiert:=TFeiertage.Create;
Falls diese Variable (z.B. bei einem zweiten Aufruf der Funktion) bereits auf ein Objektinstanze verweist.

Teekeks 17. Feb 2009 15:09

Re: Mysteriöses Problem bei procedure
 
Hi!
@Blup: Das war das erste Problem...
@all: ich habe das Problem eingegrenzt.
Aus welchen grund auch immer tritt diese Exeption bei "m:=imttostr(2);" auf. Ich verstehe einfach nicht warum der das nicht macht... :(

Wisst ihr weiter?

shmia 17. Feb 2009 15:24

Re: Mysteriöses Problem bei procedure
 
Wenn du ein Formular TForm0815 hast, dann darf im gesamten Code die Klasse die (globale) Variable Form0815 nicht angesprochen werden.
Das kann man sich ruhig als goldene Regel an den Monitor kleben.
Delphi-Quellcode:
procedure TForm1.UppdateEvents;
begin
  Form1.Cursor:=crHourGlass; // FALSCH !!!
  Cursor:=crHourGlass;       // so wäre es richtig
Also such mal deinen gesamten Sourcecode ab, ob du diese Regel noch an anderen Stellen verletzt hast.

Teekeks 17. Feb 2009 15:49

Re: Mysteriöses Problem bei procedure
 
sehr schön. Hab ich korrigiert. ABER: Der Debugger bleibt immernoch bei "m:=inttostr(integer(mm));" mit der Exeption stehen... :(
[edit]Ist der Titel jetzt besser? [/edit]

nuclearping 17. Feb 2009 16:37

Re: Exeption bei m:=inttostr(integer(mm))
 
Ein Problem eingrenzen heisst: Problemstelle isolieren -> Neues Projekt -> Problemstelle dort implementieren -> Testen.

Und ich bezweifel, dass du in einem neuen Projekt den Fehler bei "m := inttostr (2)" bekommst.

Das heisst: Irgendwo hast du richtig Murks in deinem Programm. Etwa den Faden und Überblick verloren? ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz