Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Debugger hält bei breakpoint, aber ist verdeckt von Forms (https://www.delphipraxis.net/182349-debugger-haelt-bei-breakpoint-aber-ist-verdeckt-von-forms.html)

mcmichael 18. Okt 2014 10:16

Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
Bei meinem Projekt hält der Debugger wie gewünscht an, aber die IDE bleibt durch die drei Forms des Programms verdeckt.

Bei einem neuen Projekt ist das Verhalten anders. Ich habe den Verdacht, dass es an irgendeiner Eigenschaft der Forms
liegt - aber welche?

Die folgenden hatte ich im Verdacht, aber die ändern das Verhalten nicht.
Borderstyle=bsNone
FormStyle=fsNormal
WindowState=wsNormal

hat jemand eine Idee?

Ich nutze Delphi XE3 unter Windows7

Bernhard Geyer 18. Okt 2014 10:58

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
Evtl. durch Application.MainFormOnTaskBar beeinflusst?

mcmichael 18. Okt 2014 11:18

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
nein. Die Eigenschaft habe ich nicht angerührt.

TiGü 20. Okt 2014 08:06

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
Zitat:

Zitat von mcmichael (Beitrag 1276507)
Borderstyle=bsNone
FormStyle=fsNormal
WindowState=wsNormal

Bei alten Code wurde diese Zuweisung gerne auch mal ins FormCreate geschrieben.
Oder es wurde per Windows-Funktionen, wie bspw. SetWindowPos, das Verhalten verändert.

himitsu 20. Okt 2014 08:56

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
Nein, es kann auch einfach so passieren.

Solchen Code haben wir rausgeworfen und beim Debuggen hält der Debugger oder die VCL die Fenster oben.

Ich hatte in XE sogar schon 5-6 Mal den Fall, daß das Programm vorne blieb und kein anderes Programm in den vordergrund kommen konnte.
Weder durch Alt+Tab, noch durch Anklicken der Buttons in der Taskleiste ... dort blinkten die Buttons sogar nur noch orange, aber sonst passierte nichts.

Nur Strg+Esc (Task-Manager) sind vorgekommen und ich mußte Delphi abschießen. Das Programm läßt sich nicht abschießen, solange der Debugger am Haltepunkt wartet.

mcmichael 20. Okt 2014 16:51

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
genau das! Kein Programm schafft's in den Vordergrund und die Fenster des debuggten Programmes lassen sich nicht mehr verschieben...

Wie hab ich das hinbekommen, bzw. wie krieg ich's wieder weg...?

Stevie 20. Okt 2014 17:54

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
Eventuell irgendwo mit nem MSDN-Library durchsuchenHWND_TOPMOST rumgepfuscht?

himitsu 20. Okt 2014 18:16

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
Nein.
Bei mir war es das Debuggen des Erstellens/Anzeigens der Form, wo sich eine fiese Exception versteckt, die ich finden wollte, aber nach deren Auslösung der Debugger nicht verwertbares mehr anzeigt.

Meine Lösung war einfach.
2 Monitore, wo das Programm nicht vorm Debugger rumhängt. :angel:

Meistens aber nur hilfreich, wenn man vorher weiß, daß es gleich hängen wird, oder man immer ganz eisern dafür sorgt, daß Debugger und Programm sich nie verdecken, bzw. man immer die Möglichkeit hat den Debugger noch anzufassen und rauszuziehen.

Stevie 20. Okt 2014 18:20

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
Windows-Taste und Pfeiltaste links/rechts und schon ist deine IDE aufm anderen Screen :)

mcmichael 11. Nov 2014 16:33

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
ohne zweiten Monitor an dem System ist das aber sehr lästig...

Das ist doch ein ziemlich fetter Bug in Delphi, oder wie muß ich das sehen?
Schließlich kann ich bei - nicht vorher bestimmbaren - Bedingungen mein Programm
nicht mehr debuggen.

Sollte Embarcadero da nich mal aktiv werden? Oder sieht sich die Firma da außerhalb
ihrer Verantwortung?

himitsu 11. Nov 2014 16:40

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
Nunja, man kann sich bestimmt via OTA reinhacken und verpasst den IDE-Forms ein StayOnTop, dann wäre die IDE immer vorne, was aber auch wieder blöde ist, da dann auch das laufende Programm dahinter wäre.
Da müsste man dann auch noch aktivieren, daß sich die IDE minimiert. (mindestens beim Starten des Debuggens und bei F9, aber besser nicht bei F7 usw., denn dann würde man voll kirre, wenn die im Milisekundentakt auf und zu geht)

Der schöne Günther 11. Nov 2014 16:58

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
Ich habe bei mir auch keine andere Lösung gesehen als im Programm selbst die Überprüfung einzubauen, ob die Anwendung grade debugged wird. Wenn ja, dann kein
Delphi-Quellcode:
fsStayOnTop
.

Aber wenn du sagst, du hast überhaupt kein "Stay On Top" drin...

himitsu 11. Nov 2014 18:29

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
Wir haben bei uns alle StayOnTop entfernt, da es damit eh nur Probleme gibt. (die Ausrichtung innerhalb des Programms wird nun über PopupMode/PopupParent geregelt)

Aber dennoch gibt es manchmal dieses Problem.
Multimonitor oder im SplitScreen (Debugger eine Seite und das Programm die andere Bildschirmhälfte) arbeiten ist die einzige wirklich brauchbare Lösung.

mcmichael 13. Nov 2014 07:54

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
fsStayOnTop habe ich auch überall entfernt. Und ich bin notgedrungen auf's debuggen über ein logging an den fraglichen Programmstellen übergegangen. Damit kann ich aber die ganzen Möglichkeiten der IDE beim Debuggen nicht nutzen. Ich werde jetzt mal Schritt-für-Schritt das Programm neu aufbauen (insbesondere die Forms) und nachschauen wann der "Ausfall" kommt.
Oder hat das irgendjemand schon herausgefunden? Denn beim leeren Programm oder "MinimalProgrammen" (=1Form, 3 Buttons...) läuft alles prima.

himitsu 13. Nov 2014 08:11

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
Das lernt man eh mit der Zeit.
> In einer einfachen Testanwendung geht es fast immer und in einer großen Anwendung geht der selbe Code plötzlich nicht mehr.

Bei mehreren Fenstern und/oder mit sichtbaren Dialogen, bzw. ShowModal (am Schlimmsten sind solche, wie von Eurekalog, welche sich garnicht an Standards halten) gibt es gerne mal Probleme, da dort gern mal an der Fensterausrichtung (Z-Achse) rumgepfuscht wird und das nicht nur am eigenen Fenstern, sondern auch an den anderen Fenstern der Anwendung. Manchmal auch mit bösen Hooks. (z.B. Eurekalog und AQTime arbeiten auch gern mit Threads und zerschießen/unterbrechen auch schonmal den Stacktrace, da sie eigenen Code reinhaken)

mcmichael 21. Nov 2014 08:28

AW: Debugger hält bei breakpoint, aber ist verdeckt von Forms
 
Das Vorhaben ist gelungen:

Ich habe ein neues VCL-Projekt eröffnet.
Habe die Forms mit gleichen Namen hinzugefügt und gespeichert.
Habe die form-losen Units in das Verzeichnis kopiert
habe die "nicht-Form-Attributes" aus den alten *.dfm Dateien in die aktuellen *.dfm Dateien kopiert
habe den Code aus den alten Form-Units in die neuen kopiert.

Läuft. Mit Öffnen der IDE bei breakpoints.
Habe keine Ahnung warum. Irgend eine Eigenschaft oder Projekt-Einstellung hat's vorher verhindert.
:)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:39 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