AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Unter welchen Bedingungen wird ein System-Unit Fix kompiliert und eingebunden ?

Unter welchen Bedingungen wird ein System-Unit Fix kompiliert und eingebunden ?

Ein Thema von Rollo62 · begonnen am 12. Jun 2020 · letzter Beitrag vom 17. Jun 2020
Antwort Antwort
Delphi.Narium

Registriert seit: 27. Nov 2017
2.559 Beiträge
 
Delphi 7 Professional
 
#1

AW: Unter welchen Bedingungen wird ein System-Unit Fix kompiliert und eingebunden ?

  Alt 16. Jun 2020, 14:44
@Rollo62

Ok, Dir geht es darum Redundanzen zu vermeiden.

Quasi im Idealfall: Ein Fix ist einmal ein Aufwand, für alle betroffenen Projekte gleichzeitig.

Ist er obsolte geworden, wird er genau einmal entfernt, für alle Projekte gleichzeitig.

Unter Müll verstehst Du letztlich alles das, was erforderlich ist, um Fehler in den Delphisourcen zu umgehen, vorübergehend zu beheben, bis sie im Original beseitigt worden sind.

Und ja: Es geht Dir um einen möglichst geringen Aufwand für die ganze Chose, darum, Dich um die eigentliche Entwicklungsaufgabe kümmern zu können und nicht, Dich mit nicht unerheblichem Aufwand um die "Umschiffung fremder Fehler" kümmern zu müssen und die bei der "Umschiffung" möglichen Fehler möglichst Richtung 0 zu reduzieren.

Eine absolut legitime und sinnvolle Vorgehensweise.
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Unter welchen Bedingungen wird ein System-Unit Fix kompiliert und eingebunden ?

  Alt 16. Jun 2020, 15:12
Wenn du das so machst wie ich geschrieben habe und sowohl den Library-Suchpfad als auch optional den Browse-Suchpfad mit den neuen Verzeichnis ergänzt (Globale Einstellungen: Menü Tools/Options/Language/Delphi Options/Library), sollte das problemlos funktionieren. Den Browsepfad musst du im Prinzip nicht anpassen, solange dein BUGFIX Verzeichnis die Sourcen enthält. Ich nutze das schon seit Delphi 1 so und hatte noch nie ein Problem damit.

Deine Projekte benötigen nichts eintragen! Lösche da alle deine Verküpfungen die gefixten Units und alle lokalen im Projekt herumschwirrenden DCU's. Das macht keinen Sinn, dass du das pro Projket nochmals machen willst. Die gefixten Versionen werden automtisch genutzt (kompiliert), wenn diese Pfade in den globalen Einstellungen richtig gesetzt sind und dein BUGFIX Pfad VOR den Delphi Pfaden ist.

Wenn du irgendwann mal wieder die falsche Unit angezeigt bekommst, hast du zu 100% eine Verknüpfung auf die Sourcen in deinem Projekt hinterlegt. Die Projektpfade (Projektoptionen) haben immer Vorrang vor den globalen Einstellungen und wenn du da einen Pfad auf die Originalsourcesn drin hast, ist es logisch, dass diese angezeigt werden.

Geändert von Rolf Frei (16. Jun 2020 um 15:24 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.185 Beiträge
 
Delphi 12 Athens
 
#3

AW: Unter welchen Bedingungen wird ein System-Unit Fix kompiliert und eingebunden ?

  Alt 16. Jun 2020, 16:16
Wenn du das so machst wie ich geschrieben habe und sowohl den Library-Suchpfad als auch optional den Browse-Suchpfad mit den neuen Verzeichnis ergänzt (Globale Einstellungen: Menü Tools/Options/Language/Delphi Options/Library), sollte das problemlos funktionieren.
Na gut, will ich dann auch nochmal mit globalen Einstellungen probieren.

Den Browsepfad musst du im Prinzip nicht anpassen, solange dein BUGFIX Verzeichnis die Sourcen enthält.
Das tut es, ich habe quasi nur Sourcen, und keine vorkompilierten DCU's

Deine Projekte benötigen nichts eintragen! Lösche da alle deine Verküpfungen die gefixten Units und alle lokalen im Projekt herumschwirrenden DCU's.
Ich habe früher auch nur Alles in den Optionen/Tools konfiguriert, bin aber seit geraumer Zeit davon ab.
Mittlerweile habe ich alle Pfade im Projekt, und in der IDE nur die Environment-Variablen.
Das ist vielleicht eine Philosophiefrage, aber so mache ich meine Projekte ziemlich autark von der benutzten IDE und Umgebung.
Damit habe ich gut Erfahrungen gemacht.

Die ganzen Fixes sind zu jedem Projekt, die Redundanz will ich reduzieren aber es kann sein das doch ein Projekt einen speziellen Fix benötigt, den ein anderes so nicht benötigt.
Das räume ich zwar ständig auf, aber die lokalen Fixes sind bei der Arbeit auch ganz praktisch,
weil ich dann immer nur im Projekt arbeite, und keinen ungeplanten Einfluss auf andere Projekte nehme.
So kann ich mehrere Projekte mit unterschiedlichen Konfigurationen nebeneinander fahren,
das wäre in der IDE mit Optionen/Pfade schwieriger zu handeln.
Die Auswirkungen der Fixes auf Mobilgeräten sind mitunter sehr mysteriös und unklar, deshalb die erhöhte Vorsicht.

Nachdem ein Fix geklärt ist kommt der in den Master, und wird er bei Bedarf in alle Projekte übernommen, oder erst Step-By-Step wenn das Verhalten noch jeweils geprüft werden muss.

Die Arbeitsweise rührt aber eher daher das ich mich eben nicht auf die IDE verlassen kann,
wie unten beschrieben.
Ich versuche Alles so einzustellen das "seltsame" Editor und Debug-Fehler gar ncht erst auftreten,
mir reichen schon die seltsamen Fehler auf den Mobilgeräten mit Permissions, Sensoren, Maps, Bluetooth, etc.

Jetzt komme ich darauf weil gerade Rx10.4 wieder etwas zickig ist, ich meine Projekte aber unbedingt bis zum 30.06. für meine Projekte lauffähig haben muss, wegen Apple's Store-Richtlinien.
Deshalb suche ich gerade ob es neue Möglichkeiten gibt die das optimieren können.
Ich sehe wieder solche "seltsamen" Effekte beim Editieren, Debuggen, etc. und habe das neue LSP und ARC im Verdacht.
Damit ich nicht nach Phantomen suche, versuche ich wenigstens die IDE-Einstellungen wasserdicht zu bekommen.

Geändert von Rollo62 (16. Jun 2020 um 16:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Unter welchen Bedingungen wird ein System-Unit Fix kompiliert und eingebunden ?

  Alt 16. Jun 2020, 16:22
Du kannst in der/den globalen Units mit {$IFNDEF XXX} bzw. {$IF not Defined(XXX)} arbeiten
und dann bei bestimmten Projekten in dessen Projekt-Optionen die Defines angeben, von dem was nicht rein soll, oder andersrum.

Alternativ geht es auch bei IncludeDateien im Quellcode.
Delphi-Quellcode:
{$DEFINE xxx}
{$INCLUDE zzz.inc}
und in der zzz.inc ein {$IFDEF xxx}
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Unter welchen Bedingungen wird ein System-Unit Fix kompiliert und eingebunden ?

  Alt 17. Jun 2020, 12:44
Rollo62, du solltest nur Sachen in das Projeket packen, die von Standard abweichen. Packe daher alles was deinem Standard entspricht in die globalen Einstellungen und mache dann nur bei den Projekten, die von deinem Standard abweichen, Einträge in den Projektoptionen. Hälst du dich da sauber dran, wirst du keine Probleme mehr haben.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.185 Beiträge
 
Delphi 12 Athens
 
#6

AW: Unter welchen Bedingungen wird ein System-Unit Fix kompiliert und eingebunden ?

  Alt 17. Jun 2020, 13:45
@Rolf Frei

Ich nähere mich einer neuen Verson meistens behutsam, Bottom-Up, eher von den Demos her zu Projekten.
Leider muss ich hier in 10.4 meine Projekte ans Laufen bekommen, weil mir Kunden und Apple im Nacken sitzen, mit der .storyboard requirements.
Also muss ich leider den Top-Down Ansatz wählen, oder versuchen das in 10.3.3 reinzufrickeln.
Beides ist sub-optimal.

Ich habe jetzt das Ganze aber einigermaßen stabil bekommen, die groben Crashes scheinen wirklich von den zeitgesteuerten ListView Events zu kommen.
Ich sehe zwar nicht genau wo mir das ItemObjekt unter den Füssen weggezogen wird,
es ist aber sehr wahrscheinlich das dies irgendwo im Unterbau passiert.

Ich habe es jetzt so umgebaut das ich den Wert ignoriere, oder bei Bedarf den aktuellen Wert aus dem Listview nehme, und der Crash ist damit weg.

Das scheint für mich jetzt erstmal gelöst, ich bin noch am Testen,
aber die Baustelle hat nur Sommerpause, ich denke das brodelt später mal wieder hoch.

Hälst du dich da sauber dran, wirst du keine Probleme mehr haben.
Dein Wort in Gottes Ohr, aber hast Du auch Erfahrungen mit mobilen Plattformen gemacht ?
Da ist nichts mehr so wie es scheint, ich vermisse mein altes WinXP

Geändert von Rollo62 (17. Jun 2020 um 13:47 Uhr)
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Unter welchen Bedingungen wird ein System-Unit Fix kompiliert und eingebunden ?

  Alt 17. Jun 2020, 15:41
Dein Wort in Gottes Ohr, aber hast Du auch Erfahrungen mit mobilen Plattformen gemacht ?
Da ist nichts mehr so wie es scheint, ich vermisse mein altes WinXP

Nein, Gott sei Dank nicht. Habe dafür bisher keinen Bedarf gehabt und hoffe, dass ich auch nie einen haben werde. Was hier Google und Apple veranstalten ist ja echt ne Katastrophe. Da lob ich mir mein Windows, in dem ich heute noch 20 Jahre alte Anwendungen nutzen kann.
  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 21:34 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