Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Sel2012,
9. Aug 2015
Entwarnung?! Ich habe aus anderen Gründen den Rechner ganz neu gestartet und siehe da, das Problem ist weg.
Ich konnte mir ja auch nicht erklären, warum simple und überschaubare IF..THEN-Anweisungen zu einem nicht konstanten "Zufallsergebnis" führen sollte. Also war es doch wohl ein außerhalb von Delphi liegendes temporäres Speicherproblem des Rechners.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Sel2012,
9. Aug 2015
Ich muss nur die "Liste" der if...then-Zeilen auf 30 reduzieren und schon läuft alles tausendfach stabil. Also muss der "Fehler" in der nicht mehr ständig, sondern nur gelegentlich funktionierenden Zuordnung zum THEN liegen. Darin sehe ich kein Programmierfehler, sondern ein internes Programm-Problem.
Aber, wie schon festgestellt, wäre diese Abfrage für 2000 Wörter nicht praktikabel. Nur...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Sel2012,
9. Aug 2015
Es ist ja gerade das Rätsel, dass ich ganz einfach deine These vom "zuverlässigen IF...THEN" widerlagen kann. Die Erklärung dafür würde mich schon (theoretisch) interessieren.
Jetzt werde ich mich mal auf TStringList konzentrieren (für 2000 Suchbegriffe).
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Sel2012,
9. Aug 2015
Ich arbeite mit XE5. Bei allen dummen Fehlern, die mir schon unterlaufen sind, kann ich hier ganz unbescheiden behaupten, dass die 100 Zeilen lange Wiederholung der immer gleichen if...then-Zeilen ausgesprochen übersichtlich ist. Die falsche Zuordnung tritt ja auch nicht regelmäßig und reproduzierbar auf, sondern mehr zufällig. Bei 3 Durchläufen passiert nix falsches, dann mal hier, mal da eine...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Sel2012,
9. Aug 2015
Ich habe keine Ahnung, wie rechnerintern Speicherplatz für if...then verwendet wird.
Bei ca. 60 if...then-Zeilen habe ich keine Probleme. Bei längeren "Listen" kommt die
Zuordnung außer Tritt. Wahrscheinlich müsste der Speicherbedarf vorstrukturiert werden, oder?
Siehe Beispiel.
// Zufallswort wird ausgesucht
wortwahl:= random (maxLine)+1;
wort:= Memo1.Lines.Strings];