Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Kann der BorderStyle folgen haben?!?! (https://www.delphipraxis.net/38944-kann-der-borderstyle-folgen-haben.html)

malo 26. Jan 2005 15:14


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:
Memo2.Text := Memo2.Text + Chr (StrToInt(FindBlank.Strings[ndx])- Aenderung );
//edit: der code ist natürlich in einer For-Schleife verpackt ;)

Niko 28. Jan 2005 14:40

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.

malo 6. Feb 2005 10:40

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 hier zu finden.

Lasse2002 6. Feb 2005 16:05

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

malo 6. Feb 2005 16:25

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:

jfheins 6. Feb 2005 16:27

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 ...

phXql 6. Feb 2005 16:42

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 10:58 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