AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Fummeln in der .dpr -> IDE ist verwirrt
Thema durchsuchen
Ansicht
Themen-Optionen

Fummeln in der .dpr -> IDE ist verwirrt

Ein Thema von Medium · begonnen am 30. Aug 2011 · letzter Beitrag vom 30. Aug 2011
Antwort Antwort
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
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#2

AW: Fummeln in der .dpr -> IDE ist verwirrt

  Alt 30. Aug 2011, 11:12
Ich habe bereits auch die Erfahrung gemacht, dass in der dpr für Application.Titel keine Variablen genommen werden können bzw. es dann Probleme gibt.
Außerdem kommt Deplhi manchmal mit selbst gemachte Einträgen in der dpr nicht richtig klar, da sie dann einen Unterschied zu dem darstellen, was in den anderen Project-Dateien (meist XML?) steht.
Bei größeren eigenen Änderungen lösche ich einfach alle Project-Dateien außer .dpr .res und erzwinge so ein neues Erzeugen der anderen Dateien. Allerdings muss man dann die Optionen neu einstellen (Ausführungspfad u.ä.)
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Medium

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

AW: Fummeln in der .dpr -> IDE ist verwirrt

  Alt 30. Aug 2011, 11:41
Das nenn ich ja mal einen blöden Bug. Und ich kann nachvollziehen, dass es an der Nichtbenutzung eines Literals liegt - die Konstante allein geht nämlich auch nicht. Da ich aber kaum mehr als 4 Bildschirme pro PC erwarten muss, tut es zunächst ein Workaround der Art hier:
Delphi-Quellcode:
  case i of
    0: Application.Title := 'MyWindowNumber0';
    1: Application.Title := 'MyWindowNumber1';
    2: Application.Title := 'MyWindowNumber2';
    3: Application.Title := 'MyWindowNumber3';
  end;
Grottenhäßlich, aber dann muss ich dieses Bauchweh wohl akzeptieren

Danke dir!
"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
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: Fummeln in der .dpr -> IDE ist verwirrt

  Alt 30. Aug 2011, 15:36
Das Problem liegt daran, dass Delphi die dpr parsed um so einige Dinge in den Projekt optionen einstellbar zu machen (Titel der App, erstellte Forms, etc). Du könntest deine speziellen Sachen in eine eigene Unit packen und diese als Prozedur in der main aufrufen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Medium

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

AW: Fummeln in der .dpr -> IDE ist verwirrt

  Alt 30. Aug 2011, 17:07
Mein Verdacht bzgl. der Ursache ist da de gleiche. Nur hat es mich doch etwas gewundert, dass der Parser da an etwas eher banalem scheitert, wenn man doch bedenkt, dass die selbe Firma den gebaut hat, die nen ganzen Compiler hinbekommen hat - nen recht guten dazu . Zumal es logisch "holpert", da man ja keinerlei syntaktischen Fehler gemacht hat. Es kompiliert halt auch.
Nunja, ist ja kein Beinbruch, und wenn das etwas umfangreicher würde, ist das Auslagern auch eine prima Idee. Danke!
"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
Benutzerbild von himitsu
himitsu
Online

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

AW: Fummeln in der .dpr -> IDE ist verwirrt

  Alt 30. Aug 2011, 17:21
IDE und Compiler scheinen unterschiedliche Parser zu nutzen. (bis XE ... ich hoffe das hat sich jetzt geändert)
Und dann kann es noch sein, daß die Projekt-Optionen nur an bestimmten Stellen (ohne Verschaltelung ala IF) nach diesem Zeug suchen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Fummeln in der .dpr -> IDE ist verwirrt

  Alt 30. Aug 2011, 19:45
Das ganze ist mir aufgefallen, als ich mal das Application.Initialize aus der dpr genommen und in einer anderen Unit ausgeführt hatte und plötzlich keine Runtime Themes mehr anschalten konnte in den Projektoptionen. Sobald es wieder in der main steht ist alles gut.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  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 20:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz