Bilder und Dateien speichern-Fehler SigSev
-
- Beiträge: 5
- Registriert: Do 6. Jan 2011, 06:08
Bilder und Dateien speichern-Fehler SigSev
Hallo, bin langsam verzweifelt.
Habe längeres Programm geschrieben, auf dem Bildschirm funktioniert alles,
wenn ich aber ein array abspeichern will oder auch ein Image1.picture, bekomme ich nur fehlermeldungen.
(program raised exception SIGSEV ...)
Die Sigsev- Fehlermeldung kommt sonst immer, wenn ich ein Array falsch anspreche, welches z.B. andere Grenzen hat.
In einem kleinen Prüfprogramm funktioniert aber z.B.
Form1.Image1.Picture.Savetofile +++ einwandfrei(eigentlich klar, aber..),
sobald ich dieselben Zeilen in ein Unterprogramm des größeren Programms packe, kommt eine Fehlermeldung.
Es gibt aber Form1, Image1 etc., die unterprogramme funktionieren sonst gut.
Woran kann das liegen?
(Die Fehlermeldungen beim Speichern von Dateien und arrays kommen bei allen möglichen Versuchen, auch wenn solche(nach beispielprogrammen aus dem netz) in einem extra programm funktionieren(z.B. über memorystream)
Gibt es da irgendetwas das ich wissen sollte/müsste-(newbie)?
in hope, trajektorde
Habe längeres Programm geschrieben, auf dem Bildschirm funktioniert alles,
wenn ich aber ein array abspeichern will oder auch ein Image1.picture, bekomme ich nur fehlermeldungen.
(program raised exception SIGSEV ...)
Die Sigsev- Fehlermeldung kommt sonst immer, wenn ich ein Array falsch anspreche, welches z.B. andere Grenzen hat.
In einem kleinen Prüfprogramm funktioniert aber z.B.
Form1.Image1.Picture.Savetofile +++ einwandfrei(eigentlich klar, aber..),
sobald ich dieselben Zeilen in ein Unterprogramm des größeren Programms packe, kommt eine Fehlermeldung.
Es gibt aber Form1, Image1 etc., die unterprogramme funktionieren sonst gut.
Woran kann das liegen?
(Die Fehlermeldungen beim Speichern von Dateien und arrays kommen bei allen möglichen Versuchen, auch wenn solche(nach beispielprogrammen aus dem netz) in einem extra programm funktionieren(z.B. über memorystream)
Gibt es da irgendetwas das ich wissen sollte/müsste-(newbie)?
in hope, trajektorde
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Bilder und Dateien speichern-Fehler SigSev
Eine Zugriffsverletzung tritt immer dann auf, wenn dein Programm auf einen Speicherbereich zugreifen will, dass ihm vom Betriebssystem nicht zugewiesen wurde. Wenn du aber an einer Stelle auf Speicher zugreifst, der deinem Programm zugewiesen ist, aber z.B. eine Objektvariable enthält, bekommst du nicht sofort einen Fehler sondern erst, wenn du wieder versuchst auf das Objekt zuzugreifen.
Den häufigen Fehler, dass die Objekte an sich fehlen, hast du -- wie du schreibst -- schon ausgeschlossen. Ohne Code kann dir hier aber kaum jemand helfen; daher die Empfehlung alle Überprüfungen in den Compileroptionen einschalten und noch einmal alle Zuweisungen und alle Speicheroperationen auf ihre Gültigkeit hin überprüfen.
Den häufigen Fehler, dass die Objekte an sich fehlen, hast du -- wie du schreibst -- schon ausgeschlossen. Ohne Code kann dir hier aber kaum jemand helfen; daher die Empfehlung alle Überprüfungen in den Compileroptionen einschalten und noch einmal alle Zuweisungen und alle Speicheroperationen auf ihre Gültigkeit hin überprüfen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 5
- Registriert: Do 6. Jan 2011, 06:08
Re: Bilder und Dateien speichern-Fehler SigSev
danke für die schnelle Antwort, muss das einmal versuchen, mit Compilereinstellungen.
also die Objekte existieren glaube ich schon, ich kann in den arrays zahlen abspeichern und abrufen, auf dem
Image1.Picture zeichnen etc.
(Ginge doch wohl nicht, wenn die Objekte erst noch kreiert werden müssten(?))
mal sehen,
grüße erstmal
trajektorde
also die Objekte existieren glaube ich schon, ich kann in den arrays zahlen abspeichern und abrufen, auf dem
Image1.Picture zeichnen etc.
(Ginge doch wohl nicht, wenn die Objekte erst noch kreiert werden müssten(?))
mal sehen,
grüße erstmal
trajektorde
-
- Beiträge: 770
- Registriert: Sa 21. Feb 2009, 13:46
- OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
- CPU-Target: 32Bit
Re: Bilder und Dateien speichern-Fehler SigSev
da gibt es jetzt 3 wahrscheinliche fehlerquellen:
1. Form1.Image1.Picture existiert nicht oder zeigt auf nil. //unwahrscheinlich
2. Form1.Image1 exsistiert nicht oder zeigt auf nil
3. Form1 existiert nicht oder zeigt auf nil.
Da hilf dir auf jedenfall der debugger...
einfach mal
dann schauen welchen wert debug hat...
1. Form1.Image1.Picture existiert nicht oder zeigt auf nil. //unwahrscheinlich
2. Form1.Image1 exsistiert nicht oder zeigt auf nil
3. Form1 existiert nicht oder zeigt auf nil.
Da hilf dir auf jedenfall der debugger...
einfach mal
Code: Alles auswählen
var
debug:TTImage;
begin
debug := Form1.Image1;
//breakpoint
Form1.Image1.Picture.SavetoFile
...
...
Code: Alles auswählen
Signatur := nil;
-
- Beiträge: 5
- Registriert: Do 6. Jan 2011, 06:08
Re: Bilder und Dateien speichern-Fehler SigSev
hallo Mac,
das ergebnis ist:
debug: 0 x 132
self 0 x 131
Sender 0 x 117
(das image ist ziemlich groß, so ca.1100x 700 pixel)
sagt das was?(Im projekt sind 2 units irgendwie beteiligt, eine hauptunit(meine ich zumindest), auf der auf das Image gezeichnet wird, und dann noch eine zweite, in der ein paar objektdefinitionen sind(unter uses eingebunden)
allerdings hat diese unit auch eine form1 und ein image1, vielleicht ist da ein problem?
grüße, trajektorde
das ergebnis ist:
debug: 0 x 132
self 0 x 131
Sender 0 x 117
(das image ist ziemlich groß, so ca.1100x 700 pixel)
sagt das was?(Im projekt sind 2 units irgendwie beteiligt, eine hauptunit(meine ich zumindest), auf der auf das Image gezeichnet wird, und dann noch eine zweite, in der ein paar objektdefinitionen sind(unter uses eingebunden)
allerdings hat diese unit auch eine form1 und ein image1, vielleicht ist da ein problem?
grüße, trajektorde
-
- Beiträge: 770
- Registriert: Sa 21. Feb 2009, 13:46
- OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
- CPU-Target: 32Bit
Re: Bilder und Dateien speichern-Fehler SigSev
du hast 2 form1 ?
oder heißt die andere form2 ?
sonnst aufjedenfall in form2 oder ähnliches umbenennen...
die werte haben eigentlich nichts mit der größe zu tun 0x131 ist ein pointer - welche auf den platz zeigt wo image1 im arbeitsspeicher gespeichert ist.
Wenn es 0x0 währe wüsste ich das imae1 nicht existiert - normalerweise ist die zahl zwar 6 stellig (also 0xYYYYYY) aber naja...
Andernfalls hilft nur der code oder zumindestens alles was mit image 1 zu tun hat, da das progblem ,wie gesagt nur in dem projekt auftaucht...
oder heißt die andere form2 ?
sonnst aufjedenfall in form2 oder ähnliches umbenennen...
die werte haben eigentlich nichts mit der größe zu tun 0x131 ist ein pointer - welche auf den platz zeigt wo image1 im arbeitsspeicher gespeichert ist.
Wenn es 0x0 währe wüsste ich das imae1 nicht existiert - normalerweise ist die zahl zwar 6 stellig (also 0xYYYYYY) aber naja...
Andernfalls hilft nur der code oder zumindestens alles was mit image 1 zu tun hat, da das progblem ,wie gesagt nur in dem projekt auftaucht...
Code: Alles auswählen
Signatur := nil;
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Bilder und Dateien speichern-Fehler SigSev
Das sind ziemlich ungewöhnliche Werte für Objekte; Dezimal ausgedrückt wären das: debug = 306, self = 305, Sender = 279. Es ist schlichtweg sehr unwahrscheinlich (bis unmöglich), dass das Formular (Self) nur ein Byte groß ist, und dass dann direkt im Anschluss dahinter das TImage gespeichert ist.trajektorde hat geschrieben:debug: 0 x 132
self 0 x 131
Sender 0 x 117
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein