AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Änderungen in Units werden nicht erkannt
Thema durchsuchen
Ansicht
Themen-Optionen

Änderungen in Units werden nicht erkannt

Ein Thema von cckLoud · begonnen am 11. Sep 2021 · letzter Beitrag vom 14. Sep 2021
Antwort Antwort
cckLoud

Registriert seit: 19. Nov 2020
Ort: Worms
44 Beiträge
 
Delphi 10.3 Rio
 
#1

Änderungen in Units werden nicht erkannt

  Alt 11. Sep 2021, 01:53
Ich ändere in einem externen Programm den Code von Units.
Hierbei werden irgendwelche Res-Dateien erzeugt und zum Einbinden in die Unit wird der entsprechende Code ({$R <Name der generierten Datei>.RES})in die Unit geschrieben (hierzu lese ich den Code in eine Stringlist, suche die Position, an der eingefügt wird, füge ein und speichere per SaveToFile), die dann bei der nächsten Übersetzung mit eingebunden wird.

Das funktioniert auch alles, aber folgendes Problem: wenn ich das Projekt, zu dem die geänderte Unit gehört, in der IDE angezeige, erkennt D10.3 diese Änderung nicht. Es erfolgt keine Anzeige der Art "Unit hat sich geändert, soll sie neu geladen werden", sie wird natürlich auch nicht im Editor angezeigt und auch beim Übersetzen wird treu und brav der "alte" Code verwendet. Offensichtlich wird der Quellcode gepuffert und es wird die Änderung nicht erkannt (das Änderungsdatum wird geändert, im Explorer sichtbar). Erst wenn ich D neu starte oder zwischenzeitlich ein anderes Projekt öffne, ist der neue Code da (klar, dann wird alles neu geladen). Das ist ziemlich nervig, weils viel Zeit kostet (ich werde ca. 200 von 500 Untist gearbeiten müssen)!

Daher meine Frage: wie kriege ich D dazu, einzelne Units neu zu laden? Keine programmierte Funktion, sondern einfach eine Tastenkombination oder so, die aktualisiert?

Vielleicht kann ja einer helfen!

cckloud
Klaus Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

AW: Änderungen in Units werden nicht erkannt

  Alt 11. Sep 2021, 10:11
Und du bist sicher, dass du den Fokus zwischendurch von Delphi weg änderst und dann beim Fokussieren keine Änderung erkannt wird?

Funktioniert das in Tools wie Notepad++ denn?
Da wird die entsprechende API von Windows verwendet.

Seit Windows 10 hat das bei mir überall gut funktioniert. Vielleicht funkt ein Virenscanner dazwischen?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Änderungen in Units werden nicht erkannt

  Alt 11. Sep 2021, 10:28
Das funktioniert bei mir leider auch nur meistens, und nicht immer (Delphi 10.0 Seatle).
Ich bin der Sache nie auf den Grund gegangen, aber du könntest einmal versuchen
  • Nicht nur den "Geändert am"-Zeitstempel, sondern auch den "Erstellt am"-Zeitstempel zu aktualisieren. Notfalls halt die .pas-Datei durch dein Programm löschen und neu schreiben
  • Im Projektverzeichnis eine gleichnamige .dcu-Datei suchen und diese löschen. Dann wäre die IDE auf jeden Fall gezwungen die Unit neu zu kompilieren (und wahrscheinlich auch die .pas-Datei neu einzulesen)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

AW: Änderungen in Units werden nicht erkannt

  Alt 11. Sep 2021, 10:43
Im Projektverzeichnis eine gleichnamige .dcu-Datei suchen und diese löschen. Dann wäre die IDE auf jeden Fall gezwungen die Unit neu zu kompilieren (und wahrscheinlich auch die .pas-Datei neu einzulesen)
Das wird nichts helfen, da der Editierpuffer verwendet wird. Wenn du das nicht eingestellt hast, wird eine Unit ja vor dem Kompilieren nicht gespeichert. Entsprechend muss der Inhalt aus der IDE verwendet werden.

Manuell neu eingelesen wird, wenn man ganz einfach das Projekt einmal schließt und wieder öffnet.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Änderungen in Units werden nicht erkannt

  Alt 11. Sep 2021, 12:46
Man könnte aber auch via OTA selber die geöffneten Dateien im EditBuffer bearbeiten, dann muß nix neu geladen werden.

Aber was ich nicht verstanden hab, ich dachte du wolltest RESsourcen ändern ... was wird denn dabei nun sändig auch an den PAS rumgefummelt?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Änderungen in Units werden nicht erkannt

  Alt 11. Sep 2021, 14:08
Ist die Unit im Delphi-Editor geöffnet?
Wenn sie dort nicht geöffnet ist könnte es sein, dass die Änderung nicht erkannt wird (auch nicht mit F9).
Dann könnte "Projekt erzeugen" helfen.

In Delphi 7 kann das aber grundsätzlich auch noch anders funktioniert haben als heute.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:25 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