Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Optimierung Unverständlich (https://www.delphipraxis.net/207046-optimierung-unverstaendlich.html)

venice2 19. Feb 2021 22:51

Optimierung Unverständlich
 
Wenn ich Debug und Release 64 Bit das Flag Optimieren einschalte dann wird nichts mehr gezeichnet.
Woran kann das liegen?

Ist mir Unverständlich was Delphi dann macht.
Meines Erachtens hat das überhaupt keinen Vorteil.

venice2 20. Feb 2021 15:08

AW: Optimierung Unverständlich
 
Zur Veranschaulichung.
Am Code wurde nichts geändert nur die Optimierung eingeschaltet.

DieDolly 20. Feb 2021 15:47

AW: Optimierung Unverständlich
 
Sagt die Console irgendetwas, wenn du das Projekt bereinigst und neu kompilierst?

venice2 20. Feb 2021 15:50

AW: Optimierung Unverständlich
 
Zitat:

Zitat von DieDolly (Beitrag 1483393)
Sagt die Console irgendetwas, wenn du das Projekt bereinigst und neu kompilierst?

Console? Wie meinst du das.
DCU's lösche ich immer über eine Batch Datei.

Nebenbei ist bei 32Bit das gleiche.

DieDolly 20. Feb 2021 15:54

AW: Optimierung Unverständlich
 
Das Fenster "Meldungen" meine ich. Irgendwelche Warnungen oder Informationen, dass dieses oder jenes wegen Optimierung entfernt wurde.
Vielleicht sieht man im Debugger mehr.

Daniel 20. Feb 2021 15:58

AW: Optimierung Unverständlich
 
Es ist ja nicht so, dass Programmcode auf magische Weise verschwindet.
Du wirst Deinen Code mit dem Debugger analysieren müssen und prüfen, an welcher Stelle der beabsichtige Programmablauf verlassen wird.

venice2 20. Feb 2021 16:02

AW: Optimierung Unverständlich
 
Zitat:

Zitat von DieDolly (Beitrag 1483395)
Das Fenster "Meldungen" meine ich. Irgendwelche Warnungen oder Informationen, dass dieses oder jenes wegen Optimierung entfernt wurde.
Vielleicht sieht man im Debugger mehr.

0 Warnungen, 0 Error.

Zitat:

Es ist ja nicht so, dass Programmcode auf magische Weise verschwindet.
Du wirst Deinen Code mit dem Debugger analysieren müssen und prüfen, an welcher Stelle der beabsichtige Programmablauf verlassen wird.
Ohne Optimierung läuft es doch.
Deshalb ja die frage was macht Delphi btw. der Compiler das mit diesen Flag nichts mehr gezeichnet wird.
Das der Code sich nicht ändert ist klar sagte ich aber schon.. Aber das Flag Optimieren zerschießt irgend etwas. Sieht man ja auch.

Wenn niemand darüber klare aussagen treffen kann dann ist es halt so. Bleibt sie halt aus.
Vorteil habe ich bisher eh noch keinen gesehen.

Mit Optimierung debuggen schlechte Idee.. weil die hälfte vom Linker wegoptimiert wird.

jaenicke 20. Feb 2021 18:31

AW: Optimierung Unverständlich
 
Zitat:

Zitat von venice2 (Beitrag 1483397)
Das der Code sich nicht ändert ist klar sagte ich aber schon.. Aber das Flag Optimieren zerschießt irgend etwas. Sieht man ja auch.

Es gibt zwei Möglichkeiten:
- Es ist wirklich ein Bug im Compiler. Gab es schon, ist aber recht selten.
- Die Optimierung sorgt dafür, dass im Speicher etwas anderes steht oder ähnliches, so dass ein Bug dann erst zutage tritt. Das habe ich schon mehrfach, auch in Forenbeiträgen hier, gesehen.

Hast du die Bereichsprüfung aktiv? Sagt FastMM etwas im FullDebugMode?

venice2 20. Feb 2021 18:43

AW: Optimierung Unverständlich
 
Zitat:

Zitat von jaenicke (Beitrag 1483401)
Zitat:

Zitat von venice2 (Beitrag 1483397)
Das der Code sich nicht ändert ist klar sagte ich aber schon.. Aber das Flag Optimieren zerschießt irgend etwas. Sieht man ja auch.

Es gibt zwei Möglichkeiten:
- Es ist wirklich ein Bug im Compiler. Gab es schon, ist aber recht selten.
- Die Optimierung sorgt dafür, dass im Speicher etwas anderes steht oder ähnliches, so dass ein Bug dann erst zutage tritt. Das habe ich schon mehrfach, auch in Forenbeiträgen hier, gesehen.

Hast du die Bereichsprüfung aktiv? Sagt FastMM etwas im FullDebugMode?

Ja Always!

Danke für die Info.
Es ist schwer mit eingeschalteter Optimierung das Projekt zu debuggen.
Aber ich habe mit "Windows Detective" das Problem analysieren können.

Die Optimierung gibt falsche werte bei TRect zurück warum auch immer.
Normal!
30,60,900,506

Die Optimierung macht daraus.
32XXX, irgendwas, irgendwas, irgendwas

Bedeutet mein (PopUp)Fenster ist nicht an der Position wo es sein sollte. (gezeichnet wird, nur ich kann es dann nicht mehr sehen) Außerhalb des Bildschirms.
Habe jetzt ein Child Fenster draus gemacht damit geht's. (Muß mir dafür keinen Rect holen)

Denke nicht das TRect ein Problem bei der Bereichsprüfung auslösen könnte. (wird auch nichts gemeldet)
Ohne Optimierung geht es ja.

Qualität ist besser wird hier wieder nach *.jpg konvertiert.

himitsu 20. Feb 2021 20:41

AW: Optimierung Unverständlich
 
Wie schon gesagt, entweder ist dein Code so ungünstig/fehlerhaft, wo der Fehler so aber erst "richtig" auffällt,
oder es ist wirklich ein Compiler-Fehler.

So oder so, kann es nicht schaden den Fehler zu finden
* entweder bei Emba melden, damit er behoben werden kann
* oder den eigenen Code raparieren, denn es kann auch gut sein, dass er bisher unbemerkte Fehler verursacht oder es später auch durch was Anderes wieder so auffällt


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 Uhr.
Seite 1 von 3  1 23      

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