Zitat von
himitsu:
... und ständig irgendein programm zu starten, was das löschen übernimmt, will ich mir und vorallem den Anderen nicht zumuten...
"Starten und Vergessen" bedeutet: Im Tray ablegen.
Zitat von
himitsu:
Und was soll es bringen, wenn ich noch 'ne zusätzliche
Unit einbaue.
Vergiss das mit der extra-
Unit, war eine Idee, die wir nicht mehr brauchen-
Das Programm wird als Service, oder ist einfach nur ein Miniprogramm ("Sentinel.EXE"), das im Tray hockt. Und zwar auf dem PC, auf dem die EXE abgelegt wird. Dieses Programm wird nur dann aktiv, wenn eine Datei namens "C:\MyApplication\MyProject.EXE" verändert wird. Immer wenn diese Datei verändert wird (denn das wird sie ja immer durch den Delphi-Compiler), löscht der Sentinel.EXE einfach die DCUs der "Always Build Units"....
Also: Sei UTAB.PAS die ('
Unit To Always Build')
Unit, die immer neu erzeugt werden soll.
OK...
1. Anfangszustand: [UTAB.DCU ist gelöscht
]
2. Compile drücken ...
3. Zwischenzustand: [UTAB.PAS wird neu compiliert und damit UTAB.DCU erzeugt
]
4. Zum Schluss wird die MyProject.EXE wird erzeugt.
5. Daraufhin springt der ShellNotify an und der kleine Sentinel.EXE löscht nun einfach die UTAB.DCU
.
6. Endzustand: [UTAB.DCU ist gelöscht
]
Super!
EndZustand = Anfangszustand und fertig!
Das Progrämmchen ist in einigen Minuten fertig geschrieben. Bei LMD gibt es eine ShellNotify-Komponente, aber wer sich ein bisserl mit der
API auskennt, kriegt das auch so hin.