AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Speichern der Projektdateien

Ein Thema von ringli · begonnen am 21. Mär 2025 · letzter Beitrag vom 23. Mär 2025
Antwort Antwort
ringli

Registriert seit: 7. Okt 2004
512 Beiträge
 
Delphi 11 Alexandria
 
#1

Speichern der Projektdateien

  Alt 21. Mär 2025, 20:29
Hallo,

ist es möglich, bspw. über ein IDE-Plugin, das Speichern der Projektdateien (*.dpr bzw. *.dproj) abzufangen und auf eigenen Funktionen umzuleiten?

Hintergrund der Frage:
Ich würde gerne die Tagging-Funktionen in Directory Opus nutzen. Die Tags werden von Directory Opus scheinbar in den Alternate Data Streams gespeichert. Leider verschwinden die Tags nach jedem Speichern der Projektdateien. Das scheint daran zu liegen das Delphi beim Speichern die Originaldatei komplett löscht und neu anlegt.

Gibt es dazu irgendwelche Ideen / Lösungsvorschläge?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Speichern der Projektdateien

  Alt 21. Mär 2025, 22:26
Ja, das geht mit einem IDE-Plugin. Die Details sind aber leider nicht in ein paar Worten zu beschreiben. Im Wesentlichen registriert man einen IOTAIDENotifier, der beim Öffnen und Erstellen eines Projekts einen IOTANotifier und IOTAModuleNotifier dort registriert. Dieser reagiert dann auf die Methoden AfterSave und ModuleRenamed.

Etwas tricky wird es aber, wenn es mehrere solcher Plugins gibt, die jeweils die Projektdatei neu schreiben (mein Project Magician macht das). Ohne eine clevere Strategie gewinnt immer der letzte.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Speichern der Projektdateien

  Alt 21. Mär 2025, 22:45
Ja, die Dateien werden umbenannt, dann die neue Datei gespeichert und zuletzt die alte Version gelöscht.
(falls beim Speichern was schief geht, auch wenn es eigentlich heutzutage keinen Sinn macht mehr macht .... außer die Festplatte ist randvoll, aber dann hat man eh andere Probleme)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
ringli

Registriert seit: 7. Okt 2004
512 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Speichern der Projektdateien

  Alt Gestern, 16:28
Ja, das geht mit einem IDE-Plugin. Die Details sind aber leider nicht in ein paar Worten zu beschreiben. Im Wesentlichen registriert man einen IOTAIDENotifier, der beim Öffnen und Erstellen eines Projekts einen IOTANotifier und IOTAModuleNotifier dort registriert. Dieser reagiert dann auf die Methoden AfterSave und ModuleRenamed.
Ich habe mich auf Grund deiner Hinweise mal daran gemacht meinen ersten Gehversuch mit einem IDE-Plugin zu machen.

Als Basis habe ich dafür das IDE Notifiers Plugin von David Hoyle verwendet. Das Ergebnis ist im Anhang zu finden. Das Projekt ist noch nicht aufgeräumt oder optimiert, es zeigt nur meinen jetzigen Stand. Mit Sicherheit habe ich vieles zu kompliziert gelöst oder sogar ganz falsch gemacht. Ich bitte hier um etwas Nachsicht. Wie gesagt, es ist mein erster Gehversuch in dieser Richtung.

Etwas tricky wird es aber, wenn es mehrere solcher Plugins gibt, die jeweils die Projektdatei neu schreiben (mein Project Magician macht das). Ohne eine clevere Strategie gewinnt immer der letzte.
Das merke ich jetzt schon, ohne das ich mich derartigen Problemen beschäftigt hätte.

Derzeit hadere ich schon daran wie Delphi wohl die Dateipaare, also z.B. dproj + dpr oder pas + dfm, verwaltet. Das ist ein Punkt der derzeit noch nicht in meinem Plugin funktioniert. Zwar könnte man die zugehörigen Dateiendungen sicherlich direkt im Quelltext behandeln, aber ich vermute das das nicht der vorgesehene Weg ist.

Für weitere Tips und Hinweise bin ich dankbar.
Angehängte Dateien
Dateityp: zip ProjectSaver.zip (148,0 KB, 1x aufgerufen)
  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 05:28 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 by Thomas Breitkreuz