Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#1

Fummeln in der .dpr -> IDE ist verwirrt

  Alt 30. Aug 2011, 10:56
Moin!
Ich möchte gern zählen, wie oft meine Anwendung gestartet wird, und jede neue Instanz auf einen anderen Monitor schieben, bzw. nicht starten, wenn schon alle angeschlossenen Bildschirme "belegt" sind. Dabei will ich jedoch nirgends einen persistenten Zähler führen, also war meine Idee in der DPR folgendes zu tun:
Delphi-Quellcode:
var
  i: Integer;

const
  AppTitle = 'MyWindowNumber';

begin
  Application.Initialize;
  Application.Title := '_temp_';
  i := 0;
  while FindWindow('TApplication', PChar(AppTitle+IntToStr(i))) <> 0 do inc(i);
  Application.Title := AppTitle+IntToStr(i);
  if i<=Screen.MonitorCount then
  begin
    Application.CreateForm(...);
    // usw.
Dumm ist nur, dass ich dann das Programm auf einmal nicht mehr aus der IDE heraus starten kann! Erzeugen und die .exe starten tut wunderbar, in der IDE ist der Button einfach deaktiviert und F9 macht einfach nichts. Versuche ich das Projekt neu zu öffnen, bekomme ich diese nette Meldung:
Code:
---------------------------
Fehler
---------------------------
Fehler im Modul : Der Aufruf von Application.CreateForm fehlt oder ist nicht korrekt.
---------------------------
OK  Hilfe  
---------------------------
Witzigerweise geht auf einmal alles wieder, wenn ich aus obigem QT einfach die Zeile Application.Title := AppTitle+IntToStr(i); auskommentiere, was mir erstmal verdammt unlogisch vorkommt. Zumal ein Zuweisen des Titels 3 Zeilen zuvor offenbar kein Problem für die IDE war, und kompilieren so wie Starten ausserhalb Delphis geht ja auch mit dieser Zeile. Ich würd nur schon ganz gerne weiterhin debuggen können... Und das Projekt öffnen, ohne immer erst mit Notepad in der .dpr rumzukommentieren . Was kann man da tun? (Gutes altes Delphi 7 hier. Es lebe Legacy! )
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat