AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Was kompiliert Delphi 10.3.3 da???

Ein Thema von harfes · begonnen am 24. Nov 2019 · letzter Beitrag vom 27. Nov 2019
Antwort Antwort
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Was kompiliert Delphi 10.3.3 da???

  Alt 24. Nov 2019, 13:40
Fehler ist hier vielleicht der falsche Begriff. Bei einer der von Dir genutzten Klassen sich sich offenbar eine Methode ".Close" in der Sichtbarkeit verschoben. Bei Dir äußert sich das eben sehr drastisch - ist aber exakt das Paradebeispiel, mit dem vor der Verwendung von "with" gewarnt wird.
Wenn Du das Ganze ohne "with" voll ausprogrammierst, wird Dein Code tadellos laufen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
harfes

Registriert seit: 25. Jun 2006
Ort: Rand der Scheibe
208 Beiträge
 
Delphi 12 Athens
 
#2

AW: Was kompiliert Delphi 10.3.3 da???

  Alt 24. Nov 2019, 13:55
Ja, da hast Du recht: durch das ausprogrammieren habe ich den "Fehler" ja auch gefunden bzw eure Anmerkung verifiziert. Im nachhinein ist es ja auch merkwürdig, dass der Compiler von 10.2 auch nicht meckert - das close aber anscheinend stillschweigend ignoriert, so dass der Code funktioniert.

Ich werde morgen mal ein grösseres Projekt mit der 10.3.3 testen...

Hartmut
Hartmut
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

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

AW: Was kompiliert Delphi 10.3.3 da???

  Alt 24. Nov 2019, 14:00
Im nachhinein ist es ja auch merkwürdig, dass der Compiler von 10.2 auch nicht meckert - das close aber anscheinend stillschweigend ignoriert, so dass der Code funktioniert.
Hast du eventuell bei 10.3.3 eine neue Version der Komponente installiert? Vielleicht war vorher ein Close vorhanden.

ABER: warum funktioniert das in 10.2 und warum schliesst sich das Programm nicht schon beim ersten Close?
Weil das Close nur eine CM_RELEASE Message in die Queue stellt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

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

AW: Was kompiliert Delphi 10.3.3 da???

  Alt 24. Nov 2019, 13:57
Was ist denn DM1.DataModule1.IBPlanungSQL für ein Typ?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: Was kompiliert Delphi 10.3.3 da???

  Alt 24. Nov 2019, 13:59
Sei froh, dass der Fehler so offen sichtbar aufgefallen ist. Mit with handelt man sich oft Fehler ein, die man nur schwer überhaupt eingrenzen und finden kann, wenn sie bei einem Nutzer auffallen.

Außerdem ist es einer der Hauptgründe für Probleme bei Updates auf eine neue Delphiversion.

Und debuggen lässt sich solch ein Code ja auch kaum, weil der Debugger mit with nicht arbeiten kann.

Dazu kommt noch die schlechte Lesbarkeit, weil du nie siehst was wozu gehört (in diesem Fall Close). Und weil du auch kicht siehst, ob deine gewünschte Zuordnung mit der des Compilers übereinstimmt...

Wer bei uns Code mit with eincheckt, wird virtuell gesteinigt. ��

Im nachhinein ist es ja auch merkwürdig, dass der Compiler von 10.2 auch nicht meckert - das close aber anscheinend stillschweigend ignoriert, so dass der Code funktioniert.
In 10.2 gab es in dem Objekt im with offenbar eine entsprechende Methode, die vermutlich die Verbindung geschlossen hat.
Das ist ja genau das Tückische, wenn man mit with nicht explizit schreibt wozu etwas gehören soll. Dann muss der Compiler nach seinen Regeln dies ermitteln.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz