AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE FMX Android64 - Problem mit Haltepunkten
Thema durchsuchen
Ansicht
Themen-Optionen

FMX Android64 - Problem mit Haltepunkten

Ein Thema von Michael II · begonnen am 25. Mai 2021 · letzter Beitrag vom 25. Mai 2021
Antwort Antwort
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#1

FMX Android64 - Problem mit Haltepunkten

  Alt 25. Mai 2021, 19:13
FMX - Mir ist beim Debuggen von DEC aufgefallen, dass Breakpoints bei meinem D10.4.2 unter Android64 nicht so funktionieren wie ich es erwarte. Ich habe nun ein Minimalprojekt erstellt.

Ich setze im Code unten in der Zeile label1.Text einen Haltepunkt mit "Bedingung nr=11". Ich starte das Programm und klicke auf Button1. In der App wird bei Label1 "11" (!) angezeigt. Ich erwarte "7".

Ich ändere die Haltepunkt Bedingung auf nr=7 und klicke Button1. Delphi hält beim Haltepunkt nicht an.

Delphi-Quellcode:
procedure TForm104.test( nr : integer );
begin
    label1.Text := nr.ToString;
end;

procedure TForm104.Button1Click(Sender: TObject);
begin
  test( 7 );
end;
Und wenn ich unter Haltepunkt Bedingung nR=11 schreibe und den Button drücke, dann wird angezeigt "Ungültige Bedingung für Haltepunkt: nR=11. Fehlermeldung: error: use of undeclared identifier 'nR' error: 1 errors parsing expression". Mit letzterem kann ich gut leben. Offenbar muss ich bei Android auf Gross-/Kleinschreibung achten.

Ist meine Delphi Installation vermurkst oder stimmt da momentan was nicht?

Unter Windows klappt es wie erwartet.
Michael Gasser
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#2

AW: FMX Android64 - Problem mit Haltepunkten

  Alt 25. Mai 2021, 19:21
Kann sein, dass Android Xcode case-sensitiv ist ... dann passt das Verhalten mit nR schon irgendwie,
auch wenn es für Delphi eigentlich "ungewöhnlich" ist.

bei nr=11 kann es nicht anhalten.
Was steht denn ohne den Haltepunkt im Label?

Geht ein doppeltes == ?
nr==11
Xcode ist ja mehr c-ig.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#3

AW: FMX Android64 - Problem mit Haltepunkten

  Alt 25. Mai 2021, 20:24
Seit wann ist XCode für Android?
Unter Android wird m.W. noch der GDB als Debugger benutzt.
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: FMX Android64 - Problem mit Haltepunkten

  Alt 25. Mai 2021, 20:39
Hoi himitsu

danke für deine rasche Reaktion.

Ich nehme immer den gleichen Code (siehe #1).

Ohne Haltepunkt: Ich drücke den Button1, test(7) wird aufgerufen und in der App lese ich dann tatsächlich auch 7 (wie erwartet).

Mit Haltepunkt mit Bedingung nr=11. Wenn ich jetzt den Button drücke, wird ja wieder test(7) aufgerufen und ich erwarte (natürlich nicht, dass angehalten wird, da ja 7<>11 , aber) dass ich in der App wiederum 7 angezeigt erhalte. Es steht aber jetzt 11 da. Die Haltepunkt Bedingung nr=11 wird quasi als "Wert 11 für nr übernehmen" interpretiert. Das ist doch ein Bug?

Du hast Recht. Setze ich als Haltepunktbedingung nr==11 bzw. nr==7 klappt es unter Androd64 wie erwartet. BESTEN DANK!

Kompiliere ich nun mit Windows, wird natürlich eine Fehlermeldung angezeigt: Ungültige Bedingung für Haltepunkt: nr==7. Fehlermeldung: E2029 Ausdruck erwartet, aber '=' gefunden".

D.h. man kann offenbar bei FMX Projekten für Android und Windows nicht die gleiche Syntax für Haltepunkte verwenden; es gibt sicher Gründe dafür.
Michael Gasser

Geändert von Michael II (25. Mai 2021 um 20:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#5

AW: FMX Android64 - Problem mit Haltepunkten

  Alt 25. Mai 2021, 21:25
Ja, verwechselt. Xcode war für Apple

Java-irgendwas im Android, aber ist ja auch so c-ig


Du hast Recht. Setze ich als Haltepunktbedingung nr==11 bzw. nr==7 klappt es unter Androd64 wie erwartet. BESTEN DANK!
Also nutzt der Debugger die C-Syntax.

Da muß Embarcadero wohl mal was reparieren (übersetzen: Delphi<->C++).


Von PHP kenn ich auch noch sowas, wo bei if (i = 3) { nicht verglichen, sondern zugewiesen wird.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (25. Mai 2021 um 21:55 Uhr)
  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 10:13 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