![]() |
Kann der BorderStyle folgen haben?!?!
Und zwar hab ich folgendes Problem:
Ich hab einen kleinen Encoder geschrieben. Dieser sucht sich den ASCII-Code des Wortes raus, verändert ihn und gibt den veränderten Code wieder raus. Soweit sogut, klappt auch wunderbar (Sowohl Ver- als auch Entschlüsseln). Jetzt hab ich aber den BorderStyle des MainForms von bsSizeable auf bsSingle verändert. Mein Programm verschlüsselt jetzt auch noch wunderbar, nur es entschlüsselt falsch. Bsp: Verschlüsselung: aaa --> 97 2555 94 Entschlüsselung: bsSingle: uMu bsSizeable: aaa Nun meine Frage: Warum passiert das? Mein Entschlüsselungscode ist folgender:
Delphi-Quellcode:
//edit: der code ist natürlich in einer For-Schleife verpackt ;)
Memo2.Text := Memo2.Text + Chr (StrToInt(FindBlank.Strings[ndx])- Aenderung );
|
Re: Kann der BorderStyle folgen haben?!?!
Hi,
sowas dürfte eigentlich nur passieren, wenn du irgendwo Bereichsüberschreitungen hast und dadurch versehentlich die Felder deines Formularobjekts ausliest. Deshalb mal unter Projektoptionen/Compiler/Laufzeitfehler alle Haken setzen und probieren ob ein Fehler auftritt. Wenn es daran nicht liegt weiß ich auch nicht wo man noch suchen könnte. |
Re: Kann der BorderStyle folgen haben?!?!
Ich hab mal alle Haken bei den Laufzeitfehlermeldungen gemacht. Es ändert sich jedoch nichts, es kommt auch keine Fehlermeldung.
Ich hab jedoch herausgefunden, dass etwas ähnliches auch durch ändern der MainFormCaption (manchmal, nicht immer) oder durch ein hinzufügen einer MainMenu-Komponente passiert. Ich hab mal das ganze Projekt hochgeladen. Weiß zufällig jemand, wo der Fehler sein könnte (is ja wirklich extrem simpel)? Ich bin schon am Verzweifeln :( //edit: keine externe Verlinkung erlaubt, schade :( Die Datei ist ![]() |
Re: Kann der BorderStyle folgen haben?!?!
Wenn Du in Button2Click am Anfang die Variable Aenderung mit 0 initialisierst, funktioniert es!
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var ndx : Integer; FindBlank: TStrings; encode : String; Aenderung: integer; begin if Passwort <> 0 then begin try AenderungsZaehler := 0; encode := ''; Aenderung := 0; // <-- Diese Zeile einfügen |
Re: Kann der BorderStyle folgen haben?!?!
Ah, danke, das hatte ich ganz vergessen zu machen :mrgreen:
Aber was hat das mit dem BorderStyle zu tun? :gruebel: Warum ändert sich das ganze bei irgendwelchen Änderungen am Form? Das ist mir immernoch ein Rätsel :wall: Trotzdem danke für die Hilfe :thumb: |
Re: Kann der BorderStyle folgen haben?!?!
Soweit ich glabe ... NIX
Lokale Variablen werden nicht initialisiert, und deshalb hast du zufällige Wert ausm RAM gelesen ... |
Re: Kann der BorderStyle folgen haben?!?!
durch den borderstyle verbraucht dein programm wahrscheinlich ein bisschen mehr bzw bisschen weniger speicher. und da du die lokale variable nicht initialisierst, nimmt der einfach ein teil aus dem speicher. da sich der speicher bei einem umstellen des borderstyles auch ändert, liegts wahrscheinlich daran..
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:00 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-2025 by Thomas Breitkreuz