Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#19

Re: Compilerschalter für "Allways build unit"

  Alt 8. Mär 2006, 11:38
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.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat