![]() |
AW: Stack überlauf
Zitat:
Ok "123456" kracht "1234567" kracht nicht "12345" kracht nicht "Heilig" kracht. Es scheint ein Problem mit der String länge 6 vorzuliegen. Wie soll ich das beheben. :duck: gruss |
AW: Stack überlauf
Es ist vermutlich nicht der String selbst, sondern eine andere Variable, die je nach Stringlänge an anderer Position im Speicher liegt. Ab hier (eigentlich schon vorher) wird das jetzt aber reine Spekulation. Das Problem liegt offenbar ganz woanders und hat mit dem String Energy überhaupt nichts zu tun.
Es kann auch sein, daß der String (genauer die Stringlänge) irgendwie als etwas anderes interpretiert wird. Z.B. wenn vor dem String ein Array liegt und man dieses über seine Obergrenze hinaus liest. Zugegeben, sowas ist schwer zu finden. |
AW: Stack überlauf
Wie du schon sagst es liegt an der String länge. (Irrtum an den Strings im Speicher)
Zitat:
Frustrierend das ganze .. ;) Muss mir wohl mal das Spectragram vornehmen denn der Fehler tritt nur in Zusammenhang damit auf. gruss |
AW: Stack überlauf
Problem ist erledigt.
Habe in meinem Spectragram Window alle Controls deaktiviert und dann nach und nach wieder aufgesetzt. Dabei habe ich bemerkt das die Resourcen nicht zu meiner Virtuellen Liste addiert wurden. Zudem (einer meiner großen früheren Fehler) war die Variable zum übergeben der Strings in die Liste Global definiert. Das hatte zur folge das die Strings der (Handles, DC's, Pfade und die der Images) irgendwo ins Nirwana gelangt sind. Es wundert mich nur das es nicht schon früher gekracht hat. Danke für eure Hilfe. gruss |
AW: Stack überlauf
kleines Beispiel ... wird komplizierter, wenn der String noch irgendwo "verrechnet" wird (z.B. mit 'nem Pfad zusammengesetzt)
Delphi-Quellcode:
12 + (6+2)*2 = 28 // '123456'
type
// For System.pas internal use only. // Note, this type is duplicated in getmem.inc for diagnostic purposes. Keep in sync. PStrRec = ^StrRec; StrRec = packed record {$IF defined(CPU64BITS)} _Padding: Integer; // Make 16 byte align for payload.. {$ENDIF} codePage: Word; elemSize: Word; refCnt: Integer; length: Integer; end; Size := SizeOf(StrRec) + Length('123456' + #0#0) * SizeOf(Char) 12 + (5+2)*2 = 24 // '12345'
Delphi-Quellcode:
'1234567' liegt in SmallBlockTypes 32 und davor/dahinter sind 2 Byte Offset frei
type
SmallBlockTypes: array[0..NumSmallBlockTypes - 1] of TSmallBlockType =( {8/16 byte jumps} (BlockSize: 16{$ifdef UseCustomFixedSizeMoveRoutines}; UpsizeMoveProcedure: {$ifdef CPU386)}Move12{$else}Move8{$endif}{$endif}), (BlockSize: 24{$ifdef UseCustomFixedSizeMoveRoutines}; UpsizeMoveProcedure: Move20{$endif}), (BlockSize: 32{$ifdef UseCustomFixedSizeMoveRoutines}; ... '123456' liegt in SmallBlockTypes 32 und davor/dahinter sind 4 Byte Offset frei '12345' liegt in SmallBlockTypes 28 und davor/dahinter sind 0 Byte Offset frei Entweder wird mit diesem String irgendwas überschrieben (Overflow) oder irgendwas Anderes überschreibt da was und dein String landet nur zufällig in dem Block, wo das passiert. |
AW: Stack überlauf
Danke für die Infos..
Kann man sicher einmal gebrauchen ;) Wie gesagt bei mir war ein durcheinander bedingt dadurch das meine Variable global definiert war. Hat mich ja nur 2 Tage gekostet den Fehler zu finden :) gruss |
AW: Stack überlauf
Nachdem das Problem jetzt behoben ist habe ich mir einen neuen Skin gegönnt.
![]() Die Qualität der Bilder die man hier hochläd lassen echt zu wünschen übrig @Daniel sehr schlechte Qualität. Lohnt sich schon fast gar nicht mehr. Vergleich die einfach mal. Anhang gelöscht. gruss |
AW: Stack überlauf
Zitat:
Hochauflösende Fotos in Top-Qualität waren nie das Ziel. |
AW: Stack überlauf
Zitat:
Aber gut wie du willst ;) Nebenbei *.png ist alle mal kleiner sehe den sinn nicht ein Hochauflösendes Format zu komprimieren und dann ist es doch nicht kleiner. Es spart also keinen Platz auf deinen Server. na gut bei 100% Kompression schon. Ok werde dann in Zukunft nur noch verlinken. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 Uhr. |
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 by Thomas Breitkreuz