AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

F8 wandert einfach weiter oO

Ein Thema von Hansa · begonnen am 7. Dez 2005 · letzter Beitrag vom 8. Dez 2005
Antwort Antwort
Seite 1 von 3  1 23      
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

F8 wandert einfach weiter oO

  Alt 7. Dez 2005, 00:46
Hi,

man sehe sich mal folgendes an. Kanns schlecht erklären. An der Stelle im Screenshot ist was falsch. Nun wollte ich mir das mal näher ansehen und habe einen Haltepunkt gesetzt. Source :

Delphi-Quellcode:
showmessage ('1 *'+BoolToStr (KuDS.IsEmpty,true)+'*');
// KuDS.Close; <--- Haltepunkt
// KuDS.SelectSQL.Text := 'SELECT * ...
// KuDS.Open;
    if not 1=1 (*KuDS.IsEmpty*) then begin
// KuDS.First;
// lblKuNr.Caption := KuDS.FieldByName ('NR').AsString;
showmessage ('2 *'+lblKuNr.Caption+'*');
      btnWeiter.SetFocus;
    end
    else begin
      showmessage ('keine Daten vorhanden !');
      edSuch.SetFocus;
    end;
Jetzt erkläre mir mal einer, wieso Delphi durch sämtliche Zeilen dieses Codefragments einfach weiterwandert, egal ob F7/F8. Es schert sich weder um die Kommentare noch, daß ein if und else Zweig vorhanden ist. Um die Showmessages auch nicht. Zeile für Zeile wird vogegangen. Ohne Rücksicht auf Verluste.

Wer es nicht glaubt : siehe Anhang in chronologischer Abfolge. 8)
Miniaturansicht angehängter Grafiken
delphi_767.jpg  
Gruß
Hansa
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#2

Re: F8 wandert einfach weiter oO

  Alt 7. Dez 2005, 04:00
kann ja nicht funktionieren.

Kommentare werden nicht kompiliert, also wird ein Breakpoint auf einem Kommentar auch nicht zu einem Break führen.

Der Ausdruck Not 1=1 ergibt zwingend False (weil 1=1 immer True ergibt).
Deshalb wird der Programmteil

If Not 1=1 then begin
ShowMessage('Text eins');
end else begin
ShowMessage('Text zwei');
end;

so kompiliert :
MOV EAX, Adresse von 'Text zwei'
CALL ShowMessage

Schau Dir das doch mal in der CPU Ansicht an.
Gruß, Klaus
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: F8 wandert einfach weiter oO

  Alt 7. Dez 2005, 04:21
War das trotz Screenshots immer noch nicht deutlich genug ? An dem Codeschnipsel bleibt Delphi in jeder Zeile stehen !

Schreibe mal in Mini-Programm :
Delphi-Quellcode:
begin
// <---- versuche Delphi dazu zu bringen hier anzuhalten
// <---- oder hier
// <---- oder hier
showmessage ('Test'); // <--- und diese ShowMessage nicht anzuzeigen
// <---- oder hier
// <---- oder hier
// <---- oder hier
end.
Und mit dem 1=1 kann ich machen was ich will (1=2 oder einfach weglassen), es wird sowohl der if-Zweig als auch der else-Zweig durchlaufen !! Ja, ich weiß 1=1 ist so eine Sache, aber mir fiel nichts besseres ein. Genau weil 1=1 immer true ergibt dürfte NIEMALS der else-Zweig durchlaufen werden, zumindest nicht if und gleichzeitig else !! Dieses Verhalten ist doch eindeutig zu sehen. 8) Und die Kommentare sprechen eigentlich auch für sich. Die waren vorher nicht da. Geändert hat sich dadurch aber nicht.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.337 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: F8 wandert einfach weiter oO

  Alt 7. Dez 2005, 08:15
Hansa, was hast du denn gemacht?
Klaus hat völlig recht. Kommentare werden nicht compiliert. Daher würde ein Breakpoint dort nicht wirken.

Ich kenne nur eine Möglichkeit, das so hinzubiegen, dass es wie bei dir abläuft. Aber dafür solltest du zu erfahren sein. Ich bezweifle, dass du während des Debuggens den Source änderst und dann einfach weiter machst, ohne das Programm zu beenden. Oder arbeitest du mit mehreren am selben Source? Sowas habe ich noch nicht getestet. Stell mal sicher, dass nur du am Source arbeitest und das komplette Projekt vollständig compiliert ist.

Schon mal den selben Source an einem andern PC getestet? Ist vielleicht deine Delphi-Installation im Eimer? Normal ist die Reaktion jedenfalls nicht.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: F8 wandert einfach weiter oO

  Alt 7. Dez 2005, 08:37
Stimmt, Hansa. Deine EXE stimmt einfach nicht mit dem Source überein. Eigentlich führt das Programm gerade das aus, was mal vorher in diesen Source-Zeilen stand.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#6

Re: F8 wandert einfach weiter oO

  Alt 7. Dez 2005, 08:38
Vielleicht hast auch einfach irgendwo noch eine zweite dcu Datei, die Delphi verwendet.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#7

Re: F8 wandert einfach weiter oO

  Alt 7. Dez 2005, 09:17
Da ist jemand seit 3 1/2 Jahren hier angemeldet (verwendet also min. solange delphi) und kennt den Unterschied zwischen Compile/Build nicht?
Faszinierend...
Robert Giesecke
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.337 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: F8 wandert einfach weiter oO

  Alt 7. Dez 2005, 09:36
@Elvis:
Da ich der einzige bin, der hier auf das Compilieren verwiesen hat, verwechselst du wohl was. Ich bin noch keine 3 1/2 Jahre in der DP. Allerdings kenne ich den Unterschied genau. Genauso, wie Hansa ihn kennt. Deswegen halte ich es ja auch für unwahrscheinlich, dass er diesen Fehler gemacht hat. Vorsichtshalber hatte ich "vollständig compilieren" geschrieben, damit es deutlicher ist.
Übrigens kannst du aus dem Anmeldatum nicht schließen, wie viel Programmier-Erfahrung jemand hat. Es gibt Programmierer, die machen das zum Zeitvertreib und haben auch nach 3 1/2 Jahren immer noch ein Brett vor dem Kopf und es gibt solche, die sich nach 25 Jahren professioneller Programmierung mal in einem Forum anmelden. Also immer ganz ruhig bleiben.
Peter
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

Re: F8 wandert einfach weiter oO

  Alt 7. Dez 2005, 14:05
Zitat von Elvis:
Da ist jemand seit 3 1/2 Jahren hier angemeldet (verwendet also min. solange delphi) und kennt den Unterschied zwischen Compile/Build nicht?
Faszinierend...
Ja, es ist schon faszinierend, welchen Unfug mancher schreibt. Solche Schlußfolgerungen führen wohl auch zu diesen dämlichen Verschwörungstheorien. Wie wäre es mit "Elvis lebt" ? Und wenn tatsächlich einer nicht weiß was Build ist oder was eine DCU ist, dann schreibe das nächste mal hin, was das eben ist. Was bei F9 passiert, das weißt du aber, Ja ? Was wohl ? Alle im Source veränderten Units werden neu compiliert. Das dies in diesem Fall oft gemacht wurde (siehe Kommentare, die nacheinander eingefügt wurden), das sieht sogar ein Blinder mit Krückstock. Natürlich habe ich des öfteren ein Build gemacht, denn es könnte ja sein, daß eine Unit den Effekt hervorruft, bei der ich mit einem geänderten Systemdatum was geändert habe. Das seltsame ist eben, daß obwohl die Kommentare nicht compiliert werden F8 dort anhält.
Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: F8 wandert einfach weiter oO

  Alt 7. Dez 2005, 14:17
doppelt
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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:49 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