AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi Seltsames Runtime-Verhalten (50 ist kleiner 1?)
Thema durchsuchen
Ansicht
Themen-Optionen

Seltsames Runtime-Verhalten (50 ist kleiner 1?)

Ein Thema von Codehunter · begonnen am 22. Feb 2016 · letzter Beitrag vom 22. Feb 2016
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Seltsames Runtime-Verhalten (50 ist kleiner 1?)

  Alt 22. Feb 2016, 10:55
Moin!

Ich habe hier ein ganz seltsames Runtime-Verhalten. Bild 1 zeigt die Zeile 294, wo ich den Cursor grad auf der Variable "I" stehen hab und wie man im Hint sieht, enthält sie den Wert 50. Wenn ich jetzt F8 drücke wäre also der Vergleich in Zeile 294 "if 50 >= 0 then...". Meiner bescheidenen Erfahrung nach müsste doch jetzt Zeile 295 angesprungen werden. Tuts aber nicht, ich lande in Zeile 297, also am Ende der Function. Auch dann ist I immer noch 50, wird also nicht zufällig irgendwo im Speicher überschrieben.

Hat jemand eine Idee? Hab schon alle DCUs gelöscht und alles neu erzeugt. Ohne Besserung. Ich werde noch wahnsinnig mit diesem Bug...

Grüße
Cody

PS: Delphi 10 mit Target Android.
Miniaturansicht angehängter Grafiken
image1.png   image2.png  
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Seltsames Runtime-Verhalten (50 ist kleiner 1?)

  Alt 22. Feb 2016, 10:59
Hi,

I doppelt deklariert?
ist die Methode in einem Formular, das ggf. doppelt erzeugt wurde (einmal automatisch, einmal von Hand)?

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Seltsames Runtime-Verhalten (50 ist kleiner 1?)

  Alt 22. Feb 2016, 11:10
Um solchen seltsamen Dingen auf die Spur zu kommen, gehe ich meist so vor:

- mal F7 statt F8 ausprobieren
- showmessages einbauen
- else-Zweig einfügen
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Seltsames Runtime-Verhalten (50 ist kleiner 1?)

  Alt 22. Feb 2016, 11:36
Erstell das Projekt mal neu, DCUs löschen, sichergehen dass es nicht 2 verschiedene Versionen dieser Datei gibt und aus welchen Gründen auch immer die falsche genommen wird.
Mach wie schon gesagt mal ne Messagebox rein, wenn diese (weder innerhalb noch außerhalb des ifs angezeigt wird dann nimmt er ziemlich sicher die falsche Datei.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Seltsames Runtime-Verhalten (50 ist kleiner 1?)

  Alt 22. Feb 2016, 11:46
DCU <> Pas File
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#6

AW: Seltsames Runtime-Verhalten (50 ist kleiner 1?)

  Alt 22. Feb 2016, 12:50
PS: Delphi 10 mit Target Android.
Beim Remote-Debugging auf Android habe ich tatsächlich auch schon festgestellt, daß die angezeigten Variableninhalte nicht immer passen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Seltsames Runtime-Verhalten (50 ist kleiner 1?)

  Alt 22. Feb 2016, 13:27
DCU <> Pas File
Was willst du mir damit sagen? Das ist mir auch klar
Aber meiner Erfahrung nach kann es sowohl an der DCU als auch an der (doppelt vorhandenen) PAS liegen
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Seltsames Runtime-Verhalten (50 ist kleiner 1?)

  Alt 22. Feb 2016, 13:31
Beim Remote-Debugging auf Android habe ich tatsächlich auch schon festgestellt, daß die angezeigten Variableninhalte nicht immer passen.
Genau sowas muss es sein. Ich habe das jetzt auf anderen Wegen geloggt und dabei gleich zwei voneinander unabhängige Bugs gefunden, die zusammen mit dem falsch angezeigten Variableninhalt mich stundenlang in die Irre geführt haben. Mich würde aber mal interessieren, warum der Debugger falsche Werte anzeigt. Wenns wenigstens zufällige Werte wären könnte ich es ja noch mit Pointergeschubse erklären. Aber es sind reproduzierbar immer die gleichen falschen Werte. An faulen DCUs liegts jedenfalls nicht, die habe ich immer sauber weggeputzt vor dem Kompilieren.

@Uwe: Ist das Einzelschritt-Debugging bei dir auch so gähnend langsam? Bei mir so ca. 3 Sekunden pro Step. Oder liegt es daran dass ich D10 in einer VM laufen habe?
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#9

AW: Seltsames Runtime-Verhalten (50 ist kleiner 1?)

  Alt 22. Feb 2016, 13:37
@Uwe: Ist das Einzelschritt-Debugging bei dir auch so gähnend langsam? Bei mir so ca. 3 Sekunden pro Step. Oder liegt es daran dass ich D10 in einer VM laufen habe?
Beim Remote-Debugging kann das schon mal etwas länger dauern. Ich vermeide das weitestgehend und debugge das meiste unter Win32. Nur wo das nicht mehr geht weiche ich dann auf Remote-Debugging aus.

Du lässt es aber schon auf einem echten Gerät laufen und nicht unter dem Android-Simulator, oder?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Seltsames Runtime-Verhalten (50 ist kleiner 1?)

  Alt 22. Feb 2016, 14:07
Du lässt es aber schon auf einem echten Gerät laufen und nicht unter dem Android-Simulator, oder?
Honeywell Dolphin 75e. Das Problem ist dass ich auf den 2D-Imager in den Kisten angewiesen bin, weshalb Testen auf Win32 nur seeeeeehr begrenzt möglich ist. Für das reine Imager-I/O habe ich mir zwar eine Art Emulator für Windows gebastelt. Allerdings habe ich dort das Problem, dass sich Android-System-Intents nicht simulieren lassen und sich die asynchrone Runtime oftmals ganz anders verhält, insbesondere was Timings und Timeouts angeht.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 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