Entwickler-Ecke
Sonstiges (Delphi) - Delphi bug??
Cosmic - Mo 30.12.02 15:14
Titel: Delphi bug??
Hi,
vielleicht ist dem einen oder anderen ja auch schon mal sowas passiert?
Also ich habe eine procedure:
Danach beginnt was mit "Begin" .
Aber Delphi macht nicht den ersten Befehl der da steht, sondern erst den zweiten!
z.b.
Quelltext
1: 2:
| form1.label1.caption := 'Hallo'; //wird nicht angezeigt! form1.label2.caption := 'Bye'; //wird angezeigt! |
Vertauscht mann die zwei Zeilen wird analog die erste NICHT angezeigt!
Erst wenn man das komplett gelöscht hat und zwei neue Labels eingerichtethat klappt das wieder.
Alternativ kann man auch einfach den "vergessen" Befehl zweimal hintereinanderschreiben ;-)
Was ist hier los? Hat jemand ne Idee?
Gruß Comic
-----------------------------------------
Letz Fet´s heute beginnt Dein Leben
Udontknow - Mo 30.12.02 15:29
Hi!
Das ist ganz normal und kein Bug. Der Delphi-Compiler hat eine Code-Redundanz festgestellt und sie entfernt. Wenn du eine Zuweisung machst und gleich darauf dieselbe Variable mit einer neuen Zuweisung versiehst, wieso sollte dann überhaupt die erste erfolgen? Also wird es erst gar nicht in die EXE kompiliert.
Genau das sagt dir dann auch übrigens Delphi:
| Zitat: |
| [Hinweis] Unit1.pas(29): Auf 'X' zugewiesener Wert wird niemals benutzt |
Cu,
Udontknow
Delete - Mo 30.12.02 15:39
Wenn´s kein Tippfehler ist, dann handelt es sich aber um zwei verschiedene Labels, Udontknow! Demzufolge würde ich nicht sagen, dass das Verhalten "normal" ist.
Udontknow - Mo 30.12.02 15:45
Oh, tatsächlich! Habe ich glatt überlesen... :roll:
Überdecken sich die Labels vielleicht? Wird irgendwie die Länge oder Höhe zur Laufzeit noch angepasst?
Cosmic - Mo 30.12.02 16:56
Titel: Hi
Hi,
ja es zwei labels und sie überdecken sich nicht.
Das ist mir also schon an verschiedenen Stellen so passiert.
Jetzt muß ich hinzufügen, das da natürlich noch mehr Quellcode ist :-)
aber sonst....
Cosmic
-----------------------------------------
Letz Fet´s heute beginnt Dein Leben
UGrohne - Mo 30.12.02 17:16
Biste mal Schritt für Schritt (mit F7) die Befehle durchgegangen, ob da alles ausgeführt wird? Vielleicht haste ja eine OnChange-Event auf die Labels, die das irgendwie wieder ändern, oder eine rekursive Funktion oder sowas. Probiers mal mit F7, hilft oft weiter :wink:
Gruß
Cosmic - Mo 30.12.02 18:44
Titel: Danke
Hi,
das wäre man eine Maßnahme :-)
Danke
Ciao
Cosmic
-----------------------------------------
Letz Fet´s heute beginnt Dein Leben
Klabautermann - Fr 03.01.03 00:13
Hallo,
hast du mal versuchcht nach der ersten zuweisung ein
Quelltext
1:
| Application.ProcessMessage; |
aufzurufen?
Vieleicht kommt dein Programm ja vor lauter Arbeit nur nicht dazu das Label zu ändern.
Gruß
Klabautermann
FriFra - Fr 03.01.03 01:56
Entferne mal die Kommentare hinter den Anweisungen. Mit "//" gibt es oft merkwürdige Fehler in Delphi "{ }" ist da besser.
Eine andere Ursache können unsichtbare Sonderzeichen (nur in der Kylix IDE sichtbar) im Code sein, dass passiert bei Copy & Paste von Code von Webseiten. Durch diese Zeichen "verrutscht" der Debugger in den Zeilen. Korregieren kannst Du das indem Du die *.pas Datei im DOS-Editor öffnest und speicherst.
Leathl - Fr 03.01.03 02:59
---
mimi - Sa 04.01.03 18:36
zeigt doch mal die procedure.
MFG
mimi
Cosmic - Sa 04.01.03 21:40
Titel: Procedure
ALso wie gesagt mir ist das zweimal aufgefallen.
Die erste Procedure ist ein OnButtonClick
Die zweite auch ;-)
Tja ich glaube Klabautermanns Idee könnte der Schlüssel sein....
Gruß Cosmic
-----------------------------------------
Let´s Fetz heute beginnt Dein Leben
mimi - Sa 04.01.03 21:59
schonmal getestet ?
MFG
mimi
Cosmic - Fr 17.01.03 15:46
Titel: getestet?
Hi,
tja wie oben schon erwähnt tritt das Problem manchmal auf.
Bis jetzt ist es nicht mehr aufgetaucht :-)
Woran das liegt, weis ich leider nicht.
Ciao Cosmic
-----------------------------------------
Letz Fet´s heute beginnt Dein Leben
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!